gpt4 book ai didi

ios - 导航按钮问题中显示的模态视图

转载 作者:行者123 更新时间:2023-12-01 21:26:02 25 4
gpt4 key购买 nike

struct SheetView: View {
@Binding var showSheetView: Bool
@Environment(\.presentationMode) var mode

var body: some View {
NavigationView {
Text("Sheet View content")
.navigationBarTitle(Text("Sheet View"), displayMode: .inline)
.navigationBarItems(trailing: Button(action: {
print("Dismissing sheet view...")
// self.mode.wrappedValue.dismiss()
// self.showSheetView.toggle()
self.showSheetView = false
}) {
Text("Done").bold()
})
}
}
}

struct ContentView2: View {
@State var showSheetView = false

var body: some View {
NavigationView {
Text("first")
}.navigationBarTitle("asdf").navigationBarItems(trailing: Button(action: {
self.showSheetView.toggle()
}) {
Text("Show Sheet View")
}.sheet(isPresented: $showSheetView) {
SheetView(showSheetView: self.$showSheetView)
})
}
}


struct ContentView: View {
@State var showSheetView = false

var body: some View {
NavigationView {
NavigationLink(destination: ContentView2()) {
Text("ds")
}
}
}
}
SheetView 在 ContentView2 中成功呈现。然后我单击完成按钮关闭并尝试再次显示它。它总是会失败。但是当我将启动按钮不在导航栏中时,问题不存在。

最佳答案

这是已知的缺陷,但不是绑定(bind) - 导航栏项目的布局......
这是解决方法

.navigationBarTitle("asdf").navigationBarItems(trailing: Button(action: {
self.showSheetView.toggle()
}) {
Text("Show Sheet View").padding() // << add padding !!
您可以在 SwiftUI modal presentation works only once from navigationBarItems 中找到更多详细信息和替代解决方案

关于ios - 导航按钮问题中显示的模态视图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63517720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com