我使用NavigationLink
从“ 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:我想保持此功能不变,我只想更改用于后退按钮的语言
这里是解决方法...。
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")
}
}
可以通过Localizable.strings
完成。经过测试,可以与Xcode 11.2 / iOS 13.2一起使用。
只需将此文件添加为所需的语言,然后为其创建翻译,如下所示
"Back" = "<YOUR_TRANSLATION_HERE>";