模拟tvOS中的3D浮动效果动画

  • 涉及到的技术点
    • CATransform3DRotate
    • 转换坐标系
  • 整体视图的层级结构
    • tvOSCardView
    • cardImageView
    • cardParallaxView
  • 转换坐标系的代码
CGFloat xFactor = MIN(1, MAX(-1, (touchPoint.x - (self.bounds.size.width / 2)) / (self.bounds.size.width / 2)));
CGFloat yFactor = MIN(1, MAX(-1, (touchPoint.y - (self.bounds.size.height / 2)) / (self.bounds.size.height / 2)));
        
 cardImageView.layer.transform = [self transformWithM34:1.0 / -500 xf:xFactor yf:yFactor];
 cardParallaxView.layer.transform = [self transformWithM34:1.0 / -250 xf:xFactor yf:yFactor];
        
  CGFloat zFactor = 180 * atan(yFactor / xFactor) / M_PI + 90;
  • tvOSCardAnimation动画的运行结果

运行结果图8.gif

附上项目所在GitHub地址:https://github.com/zhaoqianJoyce/tvOSCardAnimation

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容