【发布时间】:2024-01-21 13:34:01
【问题描述】:
我在一个视图上实现了一个onTapGesture,它使用.sheet 呈现另一个视图。
当用户使用向下滑动手势关闭工作表时,我将 @State 更改回 false。 (与.sheet(_: onDismiss:))
当我第一次点击卡片时,会显示该表格。
但是,在关闭 .sheet 并再次点击 Card() 后,不会显示该工作表。
我不确定它为什么不起作用:我添加了 2 个打印语句来检查 @State 的值,当我关闭 .sheet 时它被设置回 false
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)
}
}
}
知道为什么我的实现不起作用吗?
谢谢!
【问题讨论】: