在iOS/Swift中对文本进行3D动画处理,就好像它写在一个看不见的旋转卫生纸卷上一样



无论是假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从顶部滑出。

最新更新