无论是假3D(效果相同的错觉(还是真3D,我都希望将文本和图像设置为动画,就像它们打印在一个看不见的旋转卫生纸卷上一样,就像你将卫生纸卷绕其支架旋转一样。另一个类比是扑克机,这样旧的符号就会滑出,新的符号就会滑动进来
我用假3D(2D动画只是为了制造幻觉(做到了这一点。但我对此并不满意。此外,其中一个动画图像必须是旋转的(这是我们的图形设计师制作的自定义旋转器,必须在自己的坐标空间中旋转(,我的方式与同时发生的动画不兼容。当它们组合在一起时会出现故障。因此,对于扑克机的比喻,想象一下水果符号在原地旋转。
感谢
其中变量myScale
是您选择的动画的比例,我提出了:
viewSlideInFromBottom.layer.transform = CATransform3DConcat(CATransform3DMakeTranslation(0, 0, -myScale), CATransform3DMakeRotation(CGFloat.pi / 2, 1, 0, 0))
viewSlideOutToTop.layer.transform = CATransform3DMakeTranslation(0, 0, -myScale)
let animation = UIViewPropertyAnimator(duration: 1.0,
curve: .easeIn,
animations: {
self.viewSlideInFromBottom.layer.transform = CATransform3DMakeTranslation(0, 0, -self.myScale)
self.viewSlideOutToTop.layer.transform = CATransform3DConcat(CATransform3DMakeTranslation(0, 0, -self.myScale), CATransform3DMakeRotation(-CGFloat.pi / 2, 1, 0, 0))
}
)
animation.startAnimation()
viewSlideInFromBottom
从底部滑入,viewSlideOutToTop
从顶部滑出。