properties - 如何有条件地修改按钮(或其他 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)
这样做的正确方法是什么?
解决方案
使用三元运算符:
struct ContentView: View {
@State private var flag = false
var body: some View {
Text("Hello")
.background(flag ? Color.orange : Color.blue)
.onTapGesture {
self.flag.toggle()
}
}
}
推荐阅读
- typescript - 获取使用 ID 不检索数据并以角度显示
- delay - AnyLogic中的计算动态延迟
- unity3d - Unity中的动画重复2次
- android - 在我的库中出错 - 缺少依赖项:jni_headers
- c# - 如何将动态数量的 HTML 表单作为对象列表发送到控制器?
- javascript - 如何在javascript中获取从今天到周日的日期
- python - 将过滤器应用于其他页面
- java - 为什么他们使用 101 而不是 100?使用 Math.random()?
- docker - buildx 调用失败:错误:推送到注册表时需要标记 - 为什么元数据操作中的标记没有被 build-push-action 读取?
- python - 如何获取 Python 中整数的键?