Xcode:版本 11.3 (11C29)
目标:运行 iOS 13.3 的模拟器
在使用工作表和 SwiftUI 时,我遇到了难以诊断的不一致行为。当我:
*NavigationView本身使用一个按钮时,我可以始终如一地调用工作表并关闭它
* 使用NavigationView(即navigationBarItems)栏中的按钮,行为不一致:有时它切换没有问题,有时它会“锁定up”并且在再次运行之前大约 10 秒没有响应。在界面中四处滑动并执行其他操作似乎有助于“重置”功能。
最小可重现示例:
import SwiftUI
struct ContentView: View {
@State var isModalShowing = false
var body: some View {
NavigationView {
VStack {
List {
ForEach(1..<5) { number in
Text(String(number))
}
}
Button("First Modal Button") {
self.isModalShowing = true
}
}
.navigationBarItems(leading:
Button("Second Modal Button") {
self.isModalShowing = true
})
}
.sheet(isPresented: $isModalShowing) {
TestView(isPresented: self.$isModalShowing)
}
}
}
struct TestView: …Run Code Online (Sandbox Code Playgroud)