首页 > 解决方案 > SwiftUI 中 NavigationView 中后退按钮的默认文本

问题描述

我使用 aNavigationLink从“View1”导航到“View2”,在第二个视图上,后退按钮获取上一个视图的标题

在此处输入图像描述

但是,如果前一个视图的标题很长,那么返回按钮会得到文本“返回”

在此处输入图像描述

我怎么能改变那个“后退”的文字?

我想让我的应用程序支持多种语言,但是当手机的语言发生变化时,“返回”似乎没有改变

struct ContentView: View {

    var body: some View {

        return NavigationView {
            VStack {
                Text("View1")
                NavigationLink(destination: Text("View2").navigationBarTitle("Title View2", displayMode: .inline)) {
                    Text("NavigationLink")
                }
            }.navigationBarTitle("Title View1")
        }

    }
}

PS:我想保留此功能,我只想更改用于后退按钮的语言

标签: iosswiftxcodeswiftuiuikit

解决方案


这是一种解决方法....

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

        var body: some View {
            NavigationView {
                VStack {
                    NavigationLink(destination: DetailView(), isActive: $isActive) {
                        Text("Title View2")
                    }
                }.navigationBarTitle(! isActive ? "Title View2" : "Your desired back Title", displayMode: .inline)
            }
        }
    }

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

推荐阅读