SwiftUI中NavigationView中后退按钮的默认文本

问题描述 投票:0回答:1

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

enter image description here

但是,如果前一个视图的标题很长,那么后退按钮将显示文本“后退”

enter image description here

如何更改“后退”文本?

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

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:我想保持此功能不变,我只想更改用于后退按钮的语言

ios swift uikit swiftui navigationview
1个回答
0
投票

这里是解决方法...。

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")
        }
    }

0
投票

可以通过Localizable.strings完成。经过测试,可以与Xcode 11.2 / iOS 13.2一起使用。

只需将此文件添加为所需的语言,然后为其创建翻译,如下所示

"Back" = "<YOUR_TRANSLATION_HERE>";
© www.soinside.com 2019 - 2024. All rights reserved.