【问题标题】:How do I conditionally modify a button's (or other UIView) property? [duplicate]如何有条件地修改按钮(或其他 UIView)的属性? [复制]
【发布时间】:2019-08-08 21:09:42
【问题描述】:

场景:

我想切换实体(UIView)的属性;
像按钮的颜色以及每个 @State 布尔变量的其他特征。

Button(action: {
    self.showActionSheet.toggle()
}) {
    Text("Action Sheet")
    .foregroundColor(Color.white)
}
.padding()
.background(Color.blue)// how do I toggle this conditionally: i.e. one of two colors?
.cornerRadius(10)
.shadow(radius: 10)

这样做的正确方法是什么?

【问题讨论】:

  • How do you make a Button conditionally hidden or disabled? 的可能重复项是您在几分钟前接受了答案的问题。请,如果这是一个可以接受的答案,请帮助每个人并编辑该问题。
  • 请将代码、错误和数据添加为文本 (using code formatting),而不是图像。图片:A)不允许我们复制粘贴代码/错误/数据进行测试; B) 不允许根据代码/错误/数据内容进行搜索;和many more reasons。一般来说,文本格式的代码/错误/数据>>>>作为图像的代码/错误/数据>>没有。只有在除了代码格式的文本之外,如果图像添加了一些重要的东西,而不仅仅是文本代码/错误/数据传达的内容,则应该使用图像。
  • 根据反馈将图片替换为示例代码。

标签: properties uibutton swiftui


【解决方案1】:

使用三元运算符:

struct ContentView: View {
    @State private var flag = false

    var body: some View {
        Text("Hello")
            .background(flag ? Color.orange : Color.blue)
            .onTapGesture {
                self.flag.toggle()
            }
    }
}

【讨论】:

    猜你喜欢
    • 2021-11-25
    • 1970-01-01
    • 2022-01-15
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    相关资源
    最近更新 更多