你好,我在这里遇到了一个问题,而且当我在iOS13或iOS14上运行时,我的.sheet()视图的行为并不一致。
我得到了这样的视图:
@State private var label: String = ""
@State private var sheetDisplayed = false
///Some code
var body: some View {
VStack {
Button(action: {
self.label = "A label"
self.isDisplayed = true
}) {
Text("test")
}
}.sheet(isPresented: $sheetDisplayed, onDismiss: {
self.label = ""
}) {
Text(self.label)
}
}
在iOS 13上,此操作按预期工作:点击按钮 -> 设置标签 -> 调用Sheet -> 在文本视图中显示“ A label”。
在iOS14上,在sheet闭包中的self.label返回一个空字符串,因此它不会显示任何内容。
我错过了什么吗?这是iOS 14的错误还是我在iOS 13上做错了,并且已经得到了纠正。
附注:我的闭包中还有其他变量,我将其简化了。