我有一个布尔
@State var isDragging: Bool
Run Code Online (Sandbox Code Playgroud)
如何将其作为环境对象传递给子视图?
您需要创建一个 ObservableObject:
class Model: ObservableObject {
@Published var isDragging: Bool = false
}
Run Code Online (Sandbox Code Playgroud)
然后使用:
struct MyView: View {
@EnvironmentObject var mymodel: Model
var body : some View {
if mymodel.isDragging { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
另外,您应该观看 WWDC 2019 会议“Swift 中的数据流”。尽管某些类型名称已更改,但概念保持不变。
归档时间: |
|
查看次数: |
4043 次 |
最近记录: |