更新 SwiftUI 导航栏标题
Posted
技术标签:
【中文标题】更新 SwiftUI 导航栏标题【英文标题】:Updating SwiftUI navigation bar title 【发布时间】:2021-03-11 05:29:47 【问题描述】:我有一个Form
视图,将导航栏标题设置为“设置”,Picker
视图位于Form
视图内,将导航栏标题设置为“选项”。
导航到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)
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于更新 SwiftUI 导航栏标题的主要内容,如果未能解决你的问题,请参考以下文章