我已经在一个视图上实现了onTapGesture
,并使用.sheet
呈现了另一个视图。
当用户使用向下滑动手势关闭工作表时,我将@State
改回了false。 (使用.sheet(_: onDismiss:)
)
当我第一次点击卡片时,便会显示这张纸。
但是,在关闭.sheet并再次点击Card()
之后,该表单不会显示。
我不确定为什么它不起作用:我添加了2个prints语句来检查@State的值,并在我撤消false
时将其设置回.sheet
>
struct CardView: View {
@EnvironmentObject var bixiModel: BixiStationCombinedListViewModel
@State var isModalOpen: Bool = false
var station: BixiStationCombinedViewModel
var body: some View {
ZStack(alignment: .leading){
Card(station: station)
}
.onTapGesture {
self.isModalOpen = true
print(self.isModalOpen)
// Prints: true
}
.sheet(isPresented: self.$isModalOpen, onDismiss: {
self.isModalOpen = false
print(self.isModalOpen)
// Prints: false
})
{
BixiStationDetailView(station: self.station)
.environmentObject(self.bixiModel)
}
}
}
知道为什么我的实现无法正常工作吗?
谢谢!
答案 0 :(得分:1)
请注意:iOS 13.1 Beta 1,Xcode 11 Beta 7已修复!
答案 1 :(得分:0)
可能是因为您在.sheet
中有List
。如果是这样,那么这是一个已知的错误,有望得到修复。在此期间,您必须将.sheet
从List
中移出,它应该会按预期工作。