在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。
UINavigationController
extension UINavigationController: UIGestureRecognizerDelegate { override open func viewDidLoad() { super.viewDidLoad() interactivePopGestureRecognizer?.delegate = self } public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { return viewControllers.count > 1 } }