我正在使用一個按鈕來顯示/隱藏SwiftUI 中的視圖。當我第一次點擊按鈕時它作業正常。像這樣:

我想要的是當我第一次點擊它時,它必須向我展示我的觀點。當我第二次點擊它時,它必須再次隱藏視圖。每次點擊它都必須分別顯示/隱藏視圖。在情節提要中,這種情況很容易處理,但在SwiftUI中,我不知道該怎么做,因為我是 SwiftUI 的新手。
我的代碼是:
import SwiftUI
struct ShowHideText: View {
@State private var showName = false
var body: some View {
VStack(spacing: 50) {
Text("Users")
.fontWeight(.bold)
if showName {
name()
} else {
name()
.hidden()
}
Button("Show/Hide") {
showName = true
}
}
}
func name() -> some View {
VStack(spacing: 30) {
Text("David")
Text("Kate")
}
}
}
struct ShowHideText_Previews: PreviewProvider {
static var previews: some View {
ShowHideText()
}
}
我需要問的另一件事是在我的代碼中,如果我使用.hidden(),視圖會隱藏,但視圖的空間仍然存在。我不知道是否有一種方法可以隱藏視圖,并且我也有視圖的內容,因為我也必須對其內容做一些作業,或者如果我不使用.hidden()和name()在其他部分,我可以對其內容做一些作業。
uj5u.com熱心網友回復:
改變
Button("Show/Hide") {
showName = true
}
到
Button("Show/Hide") {
showName.toggle()
}
uj5u.com熱心網友回復:
對于你問題的第二部分。改變
if showName {
name()
} else {
name()
.hidden()
}
到
if showName {
name()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/465185.html
