如何控制 SwiftUI 列表中新行的动画?

问题描述

我在聊天应用程序中有一个倒排列表。添加新行时,认动画几乎就像窗帘拉起来以显示新行。新行似乎从下到上出现。我想要的是相反的。我希望它显示新行从屏幕下方向上滑动,以便新行的顶部在动画到位时首先可见。

为了动态内容滚动性能,我必须保持列表倒置。

目前我使用以下结构:

class Model: ObservableObject {
    @Published var numberArray = [19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1]
}

struct ContentView: View {
    @StateObject var model = Model()
    var body: some View {
        Button(action: {
            model.numberArray.insert(model.numberArray.count + 1,at: 0)
        },label: {
            Text("Append Number")
        })
        List {
            ForEach(model.numberArray,id: \.self) { number in
                    Text("The number is: \(number)")
                        .scaleEffect(x: 1,y: -1,anchor: .center)
                        .padding(.horizontal,30)
                        .padding(.vertical,8)
                        .background(Color.blue)
                        .foregroundColor(.white)
                        .font(.title)
                }
        }
        .scaleEffect(x: 1,anchor: .center)
        .animation(.default)
    }
}

enter image description here

无论如何,是否可以将此认动画更改为从上而下而不是自下而上显示新行的动画?

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...