我正在尝试使用动画显示和隐藏选择器视图。代码非常简单,虽然代码适用于其他视图,但我无法让它与选择器视图一起使用。隐藏选取器视图会导致非常奇怪的动画,如下面的 gif 所示。
当我删除列表中的第一行或最后一行时,动画似乎是正确的。换成Form {}
普通的List {}
也解决了这个问题。所以它只发生在“插入分组样式”中。
问题:
代码:
import SwiftUI
struct ContentView: View {
static let options = ["One", "Two", "Three"]
@State private var showPicker = false
@State private var selectedOption = 0
var body: some View {
Form {
Text("First row") // Removing this row or the last row solves the issue
Button("Show Picker") {
withAnimation {
showPicker.toggle()
}
}
if showPicker {
Picker("Picker", selection: $selectedOption) {
ForEach(0 ..< ContentView.options.count) {
Text(ContentView.options[$0])
}
}.pickerStyle(InlinePickerStyle())
}
Text("Third row")
Text("Last row") // Removing this row or the first row solves the issue
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
有谁知道如何解决这个问题?我想这是一个 SwiftUI 错误,因此解决方法也会非常有帮助。