在 SwiftUI 中,每当导航栏隐藏时,滑动返回手势也会被禁用。
有没有什么方法可以隐藏导航栏,同时保留 SwiftUI 中的向后滑动手势?我已经有一个自定义的“后退”按钮,但仍然需要手势。
我已经看到了 UIKit 的一些解决方案,但仍然不知道如何在 SwiftUI 中做到这一点
这是您自己尝试的代码:
import SwiftUI
struct RootView: View {
var body: some View {
NavigationView {
NavigationLink(destination: SecondView()) {
Text("Go to second view")
}
}
}
}
struct SecondView: View {
var body: some View{
Text("As you can see, swipe to go back will not work")
.navigationBarTitle("")
.navigationBarHidden(true)
}
}
任何建议或解决方案将不胜感激
这应该通过扩展来工作UINavigationController
.
extension UINavigationController: UIGestureRecognizerDelegate {
override open func viewDidLoad() {
super.viewDidLoad()
interactivePopGestureRecognizer?.delegate = self
}
public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return viewControllers.count > 1
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)