Animation SwiftUI如何使循环动画在两个方向上工作
我有这样的自定义圆形动画,我想让它从屏幕中心显示,然后隐藏到屏幕中心。 现在它以一种或另一种方式工作,但不能两者兼而有之Animation SwiftUI如何使循环动画在两个方向上工作,animation,swiftui,transition,Animation,Swiftui,Transition,我有这样的自定义圆形动画,我想让它从屏幕中心显示,然后隐藏到屏幕中心。 现在它以一种或另一种方式工作,但不能两者兼而有之 return AnyTransition.asymmetric( insertion: AnyTransition.modifier( active: ClipShapeModifier(shape: ScalableCircle(percent: 0).offset(offset)),
return AnyTransition.asymmetric(
insertion: AnyTransition.modifier(
active: ClipShapeModifier(shape: ScalableCircle(percent: 0).offset(offset)),
identity: ClipShapeModifier(shape: ScalableCircle(percent: 1).offset(offset))
),
removal: AnyTransition.modifier(
active: ClipShapeModifier(shape: ScalableCircle(percent: 1).offset(offset)),
identity: ClipShapeModifier(shape: ScalableCircle(percent: 0).offset(offset))
)
)
在这里我显示/隐藏视图
if showOnboarding {
OnboardingView()
.transition(.circularReveal())
} else {
ContentView()
}
如果我只应用插入,那么它可以从中心显示。
如果我只应用删除,那么它可以隐藏到中心。
但另一种方法不能正常工作。有相当多的不透明度转换。我找到了解决方案
return AnyTransition.modifier(
active: ClipShapeModifier(shape: ScalableCircle(percent: 0).offset(offset)),
identity: ClipShapeModifier(shape: ScalableCircle(percent: 1).offset(offset))
)
if showOnboarding {
OnboardingView()
.transition(.circularReveal())
.zIndex(1)
} else {
ContentView()
}
}