首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SwiftUI - navigationBarBackButtonHidden -向后滑动手势?

SwiftUI - navigationBarBackButtonHidden -向后滑动手势?
EN

Stack Overflow用户
提问于 2019-12-08 19:34:32
回答 2查看 4.5K关注 0票数 7

如果我设置一个自定义的返回按钮(每个人都想要,隐藏丑陋的文本;-)并使用.navigationBarBackButtonHidden,那么导航控制器上的标准向后滑动手势将不起作用。有没有办法让它回来,并有一个自定义的后退按钮?

例如:

代码语言:javascript
代码运行次数:0
运行
复制
NavigationView {
    NavigationLink(destination: DummyViewer())
     {
       Text("Go to next view"
    } 
 }
代码语言:javascript
代码运行次数:0
运行
复制
struct DummyViewer: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var body: some View {
        Text("Hello, World!").navigationBarBackButtonHidden(true)
            .navigationBarItems(leading:
                Button(action: { self.presentationMode.wrappedValue.dismiss()}) {
                    Text("Custom go back")
                }
        )
    }
}

如果我这样做了,我就不能回到之前的视图,似乎手势就被禁用了……如何找回它?

BR Steffen

EN

回答 2

Stack Overflow用户

发布于 2020-02-05 09:31:19

我发现创建一个自定义的NavigationView没有什么效果,但我发现通过扩展UINavigationController,我能够拥有一个自定义的后退按钮和向后滑动的手势。

代码语言:javascript
代码运行次数:0
运行
复制
extension UINavigationController: UIGestureRecognizerDelegate {
    override open func viewDidLoad() {
        super.viewDidLoad()
        interactivePopGestureRecognizer?.delegate = self
    }

    public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
        return viewControllers.count > 1
    }
}
票数 45
EN

Stack Overflow用户

发布于 2020-01-28 16:41:55

如果它仍然是实际的,here I answered,如何设置自定义后退按钮和保存向后滑动手势。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59234958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档