SwiftUI-导航BarbackButtonHidden-向后滑动手势?

SwiftUI-导航BarbackButtonHidden-向后滑动手势?,swiftui,Swiftui,如果我设置一个自定义后退按钮(每个人都想要,隐藏难看的文本;-)并使用.navigationBarBackButtonHidden,则导航控制器上的标准向后滑动手势将不起作用。有没有办法把这个拿回来,并有一个自定义的后退按钮 例如: NavigationView { NavigationLink(destination: DummyViewer()) { Text("Go to next view" } } struct DummyViewer:视图

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

例如:

NavigationView {
    NavigationLink(destination: DummyViewer())
     {
       Text("Go to next view"
    } 
 }
struct DummyViewer:视图{
@环境(\.presentationMode)变量presentationMode:绑定
var body:一些观点{
文本(“你好,世界!”)。导航BarbackButtonHidden(真)
.navigationBarItems(领先:
按钮(操作:{self.presentationMode.wrappedValue.disease()}){
文本(“自定义返回”)
}
)
}
}
如果我这样做了,我就无法刷回前一个视图,似乎该手势随后被禁用。。。如何取回它


Steffen

您可以将标题设置为空的
字符串。因此,返回栏按钮标题将为空:

struct ContentView: View {

    var body: some View {

        NavigationView {

            NavigationLink(destination: Text("Here you are")) {

                Text("Next").navigationBarTitle("")
            }
        }
    }
}

如果需要,您可以在页面上设置标题
onDisappear

如果仍然是实际的,如何设置自定义后退按钮和保存回扫手势

我发现创建自定义导航视图没有任何效果,但我发现通过扩展
UINavigationController
我能够拥有自定义后退按钮和向后滑动手势

扩展UINavigationController:UIgestureRecognitizerDelegate{ 覆盖打开的func viewDidLoad(){ super.viewDidLoad() InteractivePostureRecognizer?.delegate=self } 公共函数GestureRecognitzer应该开始(\uGestureRecognitzer:UIGestureRecognitzer)->Bool{ 返回viewControllers.count>1 } }
Hi,我添加了更多信息。这是关于后退按钮和它引起的滑动姿势-或不是。这回答了你的问题吗?到目前为止(iOS 13.2上的Xcode 11.4.1)仍然可以在iOS 14.2上使用。多么强大的咒语!在14.5版中仍然有效,谢谢!我想知道这意味着什么,因为这将应用于iOS 15 Developer Beta 1中的所有导航控件globallyWorks
struct ContentView: View {

    var body: some View {

        NavigationView {

            NavigationLink(destination: Text("Here you are")) {

                Text("Next").navigationBarTitle("")
            }
        }
    }
}