gpt4 book ai didi

SwiftUI:是否基于属性值设置 View 可见性?

转载 作者:行者123 更新时间:2023-12-03 16:42:55 24 4
gpt4 key购买 nike

使用SwiftUI定义 View 层次结构时,是否可以在定义主体中设置 View 的hidden()值?

例如:

var body: some View {
VStack(alignment: .leading) {
Text(self.name)
.font(.headline)
.hidden()
}
}

会隐藏Text对象,但是我想使用boolean属性来切换可见性。

有一种方法可以使用三元运算符和 View 的不透明度值来执行此操作,但我希望使用一种不太聪明的解决方案。

谢谢!

最佳答案

如果您不想以这种方式使用opacity修饰符:

struct ContentView: View {
@State private var showText = true

var body: some View {
VStack(alignment: .leading) {
Text("Hello world")
.font(.headline)
.opacity(showText ? 1 : 0)
}
}
}

您可以决定有条件地完全删除 View :
struct ContentView: View {
@State private var showText = true

var body: some View {
VStack(alignment: .leading) {
if showText {
Text("Hello world")
.font(.headline)
}
}
}
}

考虑到这两种方式在 SwiftUI中被广泛使用。对于您的特定情况,我会诚实地使用 opacity修饰符,但即使删除也可以。

关于SwiftUI:是否基于属性值设置 View 可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58276635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com