SwiftUI ZIndex动画未出现

SwiftUI ZIndex动画未出现,swiftui,Swiftui,我有以下代码: @State private var couponId: Int = 0 var body: some View { ScrollView { VStack(spacing: -50) { ForEach(1...20, id: \.self) { index in Cou

我有以下代码:

 @State private var couponId: Int = 0
    
    var body: some View {
        
        ScrollView {
            
            VStack(spacing: -50) {
                
                ForEach(1...20, id: \.self) { index in
                    CouponCell()
                        .zIndex(couponId == index ? 2 : 0)
                       .animation(.spring())
                        .onTapGesture {
                            withAnimation {
                                couponId = index
                            }
                        }
                }
            }
            
            .padding().frame(maxWidth: .infinity, maxHeight: .infinity)
用户选择一个特定的CouponCell,然后我更新Zindex,使其显示在其他单元格的顶部。这是可行的,但根本没有动画。我错过了什么,为什么动画没有发生


我在macOS Big Sur Beta 2上使用的是Xcode 12 Beta 2,
.zIndex
本身不是可设置动画的修改器,因为实际上在视图z位置没有可设置动画的内容-它在下方或上方

可能你的意思是(或更喜欢)下面这样的组合

在复制代码(Xcode 12)上测试


.zIndex
本身不是可设置动画的修改器,因为实际上在视图z位置中没有要设置动画的内容-它位于下方或上方

可能你的意思是(或更喜欢)下面这样的组合

在复制代码(Xcode 12)上测试

CouponCell()
    .zIndex(couponId == index ? 2 : 0)
    .scaleEffect(couponId == index ? 1.02 : 1)
    .animation(.spring(), value: couponId)
    .onTapGesture {
        couponId = index
    }