微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何控制 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 举报,一经查实,本站将立刻删除。