1. 编程圈首页
  2. 文库
  3. 移动开发

IOS 实现3D 浮动效果动画

涉及到的技术点 CATransform3DRotate 转换坐标系 整体视图的层级结构 tvOSCardView cardImageView cardParallaxView 转换坐标系的代码CGFloat

涉及到的技术点

  1. CATransform3DRotate
  2. 转换坐标系

整体视图的层级结构

  1. tvOSCardView
  2. cardImageView
  3. 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;

IOS 实现3D 浮动效果动画

tvOSCardAnimation动画的运行结果

文/JoyceZhao(简书作者
原文链接:http://www.jianshu.com/p/42770b5cee0d
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

发布者:编程圈,转转请注明出处:https://www.bianchengquan.com/article/221979.html

发表评论

登录后才能评论