我有一个 Form
视图将导航栏标题设置为“设置”,而 Picker
视图中的一个 Form
视图将导航栏标题设置为“选项”。< /p>
导航到 Picker
视图时,导航栏标题不会设置为“选项”,但后退按钮文本会设置。此外,当导航回 Form
视图时,导航栏标题会更改为“选项”。
如何在 Form
视图中将导航栏标题设为“设置”,而在 Picker
视图中设为“选项”?谢谢!
var body: some View {
NavigationView {
Form {
Picker(selection: $currentSelection, label: Text("Options")) {
ForEach(0 ..< options.count) {
Text(options[$0])
}
}
.navigationBarTitle("Options", displayMode: .inline)
}
.navigationBarTitle("Settings", displayMode: .inline)
}
}
答案 0 :(得分:1)
将导航标题修饰符放在 Picker
内。此外,由于 Picker
项中的相同文本视图用于呈现 Form
中的选择,因此我们需要将选项标题设为条件。
这是方法的演示。使用 Xcode 12.4 / iOS 14.4 测试
Form {
Picker(selection: $currentSelection, label: Text("Options")) {
ForEach(0 ..< options.count) {
if $0 != currentSelection {
Text(options[$0])
.navigationBarTitle("Options", displayMode: .inline)
} else {
Text(options[$0])
}
}
}
}
.navigationBarTitle("Settings", displayMode: .inline)