SwiftUI 中每次点击按钮时的不同操作
Different Action On Every Tap of Button in SwiftUI
我正在使用按钮 show/hide SwiftUI 中的视图。当我第一次 点击 按钮时它工作正常。像这样:
我想要的是当我第一次点击它时,它必须显示我的视图。当我点击它秒时,它必须再次隐藏视图。在 每次点击 时,它必须分别 show/hide 视图。在 Storyboard 中,这个 scenario 很容易处理,但在 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(),视图 hides但视图的 space 仍然存在。我不知道是否有隐藏视图的方法,我也有视图的内容,因为我也必须对其内容做一些工作,或者如果我 不[,它是否工作正常=37=] 在 else 部分使用 .hidden() 和 name() 我可以做到一些使用其内容。
改变
Button("Show/Hide") {
showName = true
}
至
Button("Show/Hide") {
showName.toggle()
}
关于你问题的第二部分。变化
if showName {
name()
} else {
name()
.hidden()
}
到
if showName {
name()
}
我正在使用按钮 show/hide SwiftUI 中的视图。当我第一次 点击 按钮时它工作正常。像这样:
我想要的是当我第一次点击它时,它必须显示我的视图。当我点击它秒时,它必须再次隐藏视图。在 每次点击 时,它必须分别 show/hide 视图。在 Storyboard 中,这个 scenario 很容易处理,但在 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(),视图 hides但视图的 space 仍然存在。我不知道是否有隐藏视图的方法,我也有视图的内容,因为我也必须对其内容做一些工作,或者如果我 不[,它是否工作正常=37=] 在 else 部分使用 .hidden() 和 name() 我可以做到一些使用其内容。
改变
Button("Show/Hide") {
showName = true
}
至
Button("Show/Hide") {
showName.toggle()
}
关于你问题的第二部分。变化
if showName {
name()
} else {
name()
.hidden()
}
到
if showName {
name()
}