我有一个全局数组:
let genderList = ["Not Selected", "Woman", "Man", "Non Binary", "Trans", "Would rather not say"]
Run Code Online (Sandbox Code Playgroud)
结构体实例变量:
@State var selectedGender = genderList[0]
Run Code Online (Sandbox Code Playgroud)
我的视图中有一个选择器:
Picker("Please select your gender", selection: $selectedGender) {
ForEach(genderList, id: \.self) {
Text($0)
}
}.pickerStyle(.wheel)
Run Code Online (Sandbox Code Playgroud)
对于我的一生,我似乎无法理解为什么这会引发以下错误:
Swift/ContigeousArrayBuffer.swift:600:致命错误:索引超出范围
我也尝试过类似的错误:
Picker("", selection: $selectedGender) {
ForEach(genderList.indices, id: \.self) { index in
Text(genderList[index])
}
}.pickerStyle(.wheel)
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。谢谢
小智 2
我有同样的错误,我找到了适合我的解决方案:
.animation(.easeInOut, value: showingPicker)
ZStack {
Color.black.opacity(0.2)
.ignoresSafeArea()
View() // your content here
if shouldShowPicker {
assetsPicker(selection: $viewModel.selection,
pickerModel: viewModel.pickerModel)
}
}.animation(.easeInOut, value: shouldShowPicker)
Run Code Online (Sandbox Code Playgroud)
选择器应该用动画隐藏,否则会崩溃。我不知道为什么,但Color.black.opacity(0.2).ignoresSafeArea()使它的动画流畅。
| 归档时间: |
|
| 查看次数: |
1755 次 |
| 最近记录: |