gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:17:39 26 4
gpt4 key购买 nike

在 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
}
}

关于swift - 在 SwiftUI 中隐藏导航栏而不会丢失向后滑动手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59921239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com