【发布时间】:2021-10-05 03:36:54
【问题描述】:
我正在尝试使用来自 SwiftUI 的 Picker,我让此代码适用于 iOS 14,但是当我更新项目以使用 iOS 15 时,它现在已损坏,并且在分配 @State 后,Picker 不再更新视图出现。
我从零开始创建了一个新项目来测试它,是的,我可以复制错误。
这是我正在使用的代码:
import SwiftUI
struct Category: Identifiable {
let id: UUID = UUID()
let name: String
}
let categories: [Category] = [
Category(name: "Cat 1"),
Category(name: "Cat 2"),
Category(name: "Cat 3")
]
struct ContentView: View {
@State private var selectedCategory = -1
var body: some View {
NavigationView {
Form {
Section {
Picker("Category", selection: $selectedCategory) {
ForEach(0..<categories.count) {
Text(categories[$0].name)
.tag($0)
}
}
}
}
.onAppear {
self.selectedCategory = 1
}
}
}
}
正如您在 onAppear 块中看到的,我正在更改 selectedCategory 值,这种代码和平在 iOS 14 中运行良好,但在 iOS 15 中运行良好。
谢谢
【问题讨论】:
-
适用于 Xcode 13 / iOS 15。
-
@Asperi 你能改变和选择一个不同的类别吗?
标签: ios swift swiftui ios15 swiftui-picker