【问题标题】:Updating SwiftUI navigation bar title更新 SwiftUI 导航栏标题
【发布时间】: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)
    }
}

【问题讨论】:

    标签: ios swiftui swiftui-navigationview


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2015-12-24
      • 1970-01-01
      • 2019-10-28
      相关资源
      最近更新 更多