首页 > 解决方案 > 如何有条件地修改按钮(或其他 UIView)的属性?

问题描述

设想:

我想切换实体(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)

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

标签: propertiesuibuttonswiftui

解决方案


使用三元运算符:

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

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

推荐阅读