【发布时间】:2020-03-30 05:27:15
【问题描述】:
根据我的理解,如果你自己定义一个视图(作为一个实现View的结构体),那么你可以将一些var声明为环境变量,如下所示:
@Environment(\.isEnabled) var isEnabled
这将使您能够访问EnvironmentValues.isEnabled 字段。
但是,这似乎只能在视图定义本身内实现。
给定一些视图v,是否有可能获取该视图的环境对象?还是获取特定的环境值?
【问题讨论】:
-
不太明白你想在哪里使用环境值。 Environment 的定义是“从视图的环境中读取值的动态视图属性。”。我相信它必须在 View 内部,因为它是动态的并且取决于 View 的呈现方式。通过将它们与@Environment(\.KeyPath) 绑定,我们可以将它们用作常规变量。你想存储一个特定的值并传递它吗?
-
@VictorSanchez 了解这方面的背景,请参阅我的另一个问题:stackoverflow.com/questions/59169436
标签: swiftui swiftui-environment