Hay*_*ong 4 ios swift swiftui navigationlink
由于某种原因,我的 NavigationLink 似乎只在长按时起作用。这是视图的片段:
struct MainView: View {
@EnvironmentObject var user: UserObservable
var body: some View {
VStack {
NavigationView {
List(user.items, id: \.self) { item in
NavigationLink(destination: ItemView(item: item)) {
Text(item.name)
}
}
.navigationBarTitle("\(user.displayName)'s items")
.navigationBarItems(leading: AddItemViewButton().environmentObject(user),
trailing: MainViewActionSheet().environmentObject(user))
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该列表已正确填充,但点击它们不会执行任何操作。按住然后松开确实会打开正确的目的地。
还有其他人见过这样的事情吗?这是在 Xcode 11.4.1 和 iOS 13.4.1 上。
感谢所有提供帮助的人,事实证明我的问题是我onTapGesture
在我的键盘中留下了一个SceneDelegate
应该在打字时关闭键盘的键盘,但却阻止了我的NavigationLink
s 打开。哎呀。
它看起来有点像这样,以防有人也遇到这个问题:
// Use a UIHostingController as window root view controller.
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: ContentView()
.environmentObject(user)
.onTapGesture { window.endEditing(true) }) // <- Problem right there
self.window = window
window.makeKeyAndVisible()
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1347 次 |
最近记录: |