从 SwiftUI 中的后退按钮中删除文本

Remove the text from back button in SwiftUI

简而言之,我想,但是用SwiftUI。

主页 应删除)

到目前为止,我还没有找到直接访问 NavigationBarButton 的方法,并且设法找到了以下似乎是迄今为止我能找到的修改按钮的唯一方法:

struct MyList: View {
    var body: some View {
            Text("MyList")
            .navigationBarTitle(Text(verbatim: "MyList"), displayMode: .inline)
            .navigationBarItems(leading: Text("<"))
    }
}

但是,我丢失了默认的 return 图片,取而代之的是丑陋的 <。

您需要设置后退按钮将弹出的视图的标题:

struct ContentView: View {    
    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: DetailView()) {
                    Text("push view")
                }
            }.navigationBarTitle("", displayMode: .inline)
        }
    }
}

struct DetailView: View {    
    var body: some View {
        Text("Detail View")
    }
}

或者,要根据演示状态有条件地设置或取消设置源视图的标题,您可以使用下面的代码。

请注意 isActive 参数有一个错误,但很可能很快就会解决。这是对提到的错误的引用 SwiftUI: NavigationDestinationLink deprecated

struct ContentView: View {
    @State private var active: Bool = false

    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: DetailView(), isActive: $active) {
                    Text("push view")
                }
            }.navigationBarTitle(!active ? "View Title" : "", displayMode: .inline)
        }
    }
}

struct DetailView: View {
    var body: some View {
        Text("Detail View")
    }
}