我对标签的作用感到困惑。当我删除标签时,我只能选择“M”,然后添加,我可以选择所有选项。
当我制作整数数组选择器时,标签的存在根本无关紧要。
但问题发生在字符串数组中。我想知道为什么会发生这种情况。
import SwiftUI
struct InitGender: View {
@ObservedObject var initData : InitData
@ObservedObject var initViewRouter : InitViewRouter
let genderRange = ["M","F"]
var body: some View {
VStack {
Text("Select your gender")
.font(.title)
.bold()
Picker("Select gender", selection : $initData.gender) {
ForEach(0..<genderRange.count) {
Text(self.genderRange[$0]).tag(self.genderRange[$0])
}
}
.labelsHidden()
.clipped()
}
}
}
Run Code Online (Sandbox Code Playgroud)
SwiftUIPicker
通过tag
或检测选择id
,因为这种类型的选择和tag
(或id
)必须相同。
这是一个演示(使用 Xcode 12 / iOS 14 测试)
struct InitGender: View {
@State private var selection: String = "M"
let genderRange = ["M","F"]
var body: some View {
VStack {
Text("Select your gender")
.font(.title)
.bold()
Text("Selected: \(selection)")
Picker("Select gender", selection : $selection) {
ForEach(0..<genderRange.count) {
Text(self.genderRange[$0]).tag(self.genderRange[$0])
}
}
.labelsHidden()
.clipped()
}
}
}
Run Code Online (Sandbox Code Playgroud)
的替代工作变体 Picker
Picker("Select gender", selection : $selection) {
ForEach(genderRange, id: \.self) {
Text($0)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2061 次 |
最近记录: |