SwiftUI 选择器标题?

P. *_*ami 5 picker ios swiftui swiftui-picker

我正在尝试使用Picker进行简单的选择。目前我正在使用.inline导航栏来显示标题。(这是我得到示例的地方https://www.hackingwithswift.com/quick-start/swiftui/pickers-in-forms

struct ContentView: View {
    var strengths = ["Mild", "Medium", "Mature"]

    @State private var selectedStrength = 0
    
    var body: some View {
        NavigationView {
            Form {
                Picker(selection: $selectedStrength, label: Text("Strength")) {
                    ForEach(0 ..< strengths.count) {
                        Text(self.strengths[$0])
                    }
                }
            }.navigationBarTitle("Parent Title", displayMode: .inline)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,当我进入选择器时,没有标题? 截图1

当我尝试在PickerForEach什至Textforeach 内的 s 上设置内联标题时,父标题会被覆盖......

有没有一个好的方法来解决这个问题,或者我应该继续制作我自己的选择器(我们那里有任何好的简单的选择器)?

P. *_*ami -6

这就是我最终所做的(感谢 来自Change Navigation Title of Picker in SwiftUI 的Claus J\xc3\xb8rgensen想法):

\n
struct ContentView: View {\n    var strengths = ["Mild", "Medium", "Mature"]\n\n    @State private var selectedStrength = 0\n\n    var body: some View {\n        NavigationView {\n            Form {\n                Picker(selection: $selectedStrength, label: Text("Strength")) {\n                    ForEach(0 ..< strengths.count) {\n                        Text(self.strengths[$0])\n                    }.navigationBarTitle("Strength", displayMode: .inline)\n                }.navigationBarTitle("Parent Title", displayMode: .inline)\n            }\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

  • 当用户点击后退按钮时,这也会将父标题更改为“Strength”。 (13认同)