隐藏导航栏而不会丢失SwiftUI中的向后滑动手势

在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

}

}

以上是 隐藏导航栏而不会丢失SwiftUI中的向后滑动手势 的全部内容, 来源链接: utcz.com/qa/420181.html

回到顶部