添加/删除行时,SwiftUI列出/形成不良动画

问题描述

我有一个非常简单的文本列表,当用户点击它时,它的内部会带有一个日期选择器。

问题在于动画看上去真的很破损,除了从头开始做整个事情之外,不确定我能做些什么,在这一点上我宁愿只使用UIKit。

enter image description here

如果您知道如何解决此问题,我将非常感激。

这是代码:

struct ContentView: View {
    let items = ["123","345","678"]
    @State private var selectedItems = Set<String>()
    @State private var test = Date()

    var body: some View {
        Form {
            ForEach(items.indices) { index in
                Button(action: {
                    withAnimation {
                        if selectedItems.contains(items[index]) {
                            selectedItems.remove(items[index])
                        } else {
                            selectedItems.insert(items[index])
                        }
                    }
                },label: {
                    Text(items[index])
                        .foregroundColor(.primary)
                })
                if selectedItems.contains(items[index]) {
                    DatePicker(selection: $test,in: ...Date(),displayedComponents: .date) {
                            }
                    .datePickerStyle(WheelDatePickerStyle())
                }
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)