gpt4 book ai didi

在 iOS16 中带有不选择选项的 SwiftUI 选择器

转载 作者:行者123 更新时间:2023-12-05 09:01:12 27 4
gpt4 key购买 nike

我正在使用带选项的 Picker 不选择,在 iOS15 中它工作正常,但在 iOS16 中它有一个默认值,我如何删除这个默认值,我不需要在右侧显示文本选择为零时的选择器行。

struct ContentView: View {

@State private var selection: String?
let strengths = ["Mild", "Medium", "Mature"]

var body: some View {
NavigationView {
List {
Section {
Picker("Strength", selection: $selection) {
ForEach(strengths, id: \.self) {
Text($0).tag(Optional($0))
}
}
}
}
}
}
}

在iOS15中,selection为nil时,Picker行右侧不显示文字
enter image description here

but in iOS 16, the same code leads to different results, when selection is nil it has a default value enter image description here

最佳答案

Xcode 14.1 Beta 3 日志:“选择器:选择“nil”无效且没有关联标签,这将产生未定义的结果。”

要解决此日志,您需要添加一个使用 nil 标记的选项。

struct ContentView: View {

@State private var selection: String?
let strengths = ["Mild", "Medium", "Mature"]

var body: some View {
NavigationView {
List {
Section {
Picker("Strength", selection: $selection) {
Text("No Option").tag(Optional<String>(nil))
ForEach(strengths, id: \.self) {
Text($0).tag(Optional($0))
}
}
Text("current selection: \(selection ?? "none")")
}
}
}
}
}

关于在 iOS16 中带有不选择选项的 SwiftUI 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73903569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com