SwiftUI Asymmetric Transition delay не работает
Я пытаюсь создать анимацию для представления и удаления группы объектов. У меня есть:
if self.showSignInButtons {
Group {
Button(action: {}) { ... }
HStack { ... }
Button(action: {}) { ... }
}.transition(
AnyTransition.signInButtonTransition(
offset: geometry.size.height,
duration: 1.4,
delay: 50.0)
)
}
Вот определение обычая 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)
}
}
Моя цель - отложить анимацию вставки для создания последовательности, но я не хочу, чтобы была задержка при закрытии представления. Проблема в том, что асимметричная анимация использует анимацию по умолчанию, несмотря на добавленный модификатор анимации. Есть ли причина, по которой игнорируются анимация задержки и продолжительности при вставке?