SwiftUI 非对称转换延迟不起作用

6 swiftui swiftui-animation

我正在尝试创建一个动画来呈现和消除一组对象。我有:

if self.showSignInButtons {
    Group {
        Button(action: {}) { ... }
        HStack { ... }
        Button(action: {}) { ... }
    }.transition(
        AnyTransition.signInButtonTransition(
        offset: geometry.size.height,
        duration: 1.4,
        delay: 50.0)
    )
}
Run Code Online (Sandbox Code Playgroud)

AnyTransition这是自定义动画的定义

public extension AnyTransition {

    static func signInButtonTransition(offset: CGFloat, duration: Double, delay: Double) -> AnyTransition {
        let insertion = AnyTransition.offset(y: offset)
            .animation(Animation.easeOut(duration: duration).delay(delay))
        let removal = AnyTransition.offset(y: offset).animation(.default)
        return .asymmetric(insertion: insertion, removal: removal)
    }
}
Run Code Online (Sandbox Code Playgroud)

我的目标是延迟插入动画以创建序列,但我不希望在视图关闭时出现延迟。问题是,尽管添加了动画修改器,但非对称动画仍在使用默认动画。插入时的延迟和持续时间动画被忽略有什么原因吗?