CAKeyframeAnimation简单旋转动画
来源:互联网 发布:java面试专业技能 编辑:程序博客网 时间:2024/05/22 13:03
使用关键帧动画做的一个简单的动画,效果如下:
主要代码如下:
_sunView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; _sunView.backgroundColor = [UIColor orangeColor]; _sunView.center = self.view.center; _sunView.layer.cornerRadius = 100 /2.0; [self.view addSubview:_sunView]; CGRect boundingRect = CGRectMake(CGRectGetMidX(_sunView.frame)-150, CGRectGetMidY(_sunView.frame)- 300 / 2.0, 300, 300); UIView *blackView = [[UIView alloc] initWithFrame:boundingRect]; blackView.backgroundColor = [UIColor blackColor]; [self.view insertSubview:blackView belowSubview:_sunView]; _earthView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)]; _earthView.backgroundColor = [UIColor redColor]; _earthView.center = blackView.frame.origin; [self.view addSubview:_earthView]; CAKeyframeAnimation *orbit = [CAKeyframeAnimation animation]; orbit.keyPath = @"position"; orbit.path = CFAutorelease(CGPathCreateWithEllipseInRect(CGRectMake(0, 0, 300, 300), NULL)); orbit.duration = 4; orbit.additive = YES; orbit.repeatCount = HUGE_VALF; orbit.calculationMode = kCAAnimationPaced; orbit.rotationMode = kCAAnimationRotateAuto; [_earthView.layer addAnimation:orbit forKey:@"orbit"];
使用 CGPathCreateWithEllipseInRect(),创建一个圆形的 CGPath 作为关键帧动画的 path。
使用 calculationMode 是控制关键帧动画时间的另一种方法。我们通过将其设置为 kCAAnimationPaced,让 Core Animation 向被驱动的对象施加一个恒定速度,不管路径的各个线段有多长。将其设置为 kCAAnimationPaced 将无视所有我们已经设置的 keyTimes。
设置 rotationMode 属性为 kCAAnimationRotateAuto 确保飞船沿着路径旋转。
如果将rotationMode设置为nil,效果会如下:
0 0
- CAKeyframeAnimation简单旋转动画
- CAKeyframeAnimation(关键帧动画)的简单使用
- CABaseAnimation + CAAnimationGroup + CAKeyframeAnimation的简单动画
- CAKeyframeAnimation动画
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- CAKeyframeAnimation 帧动画实现
- 关键帧动画CAKeyframeAnimation
- CAKeyframeAnimation ---关键帧动画
- 关键帧动画CAKeyframeAnimation
- CAKeyFrameAnimation关键帧动画
- 关键帧动画CAKeyframeAnimation
- 关键帧动画CAKeyframeAnimation
- U-Boot移植--支持串口Xmodem协议
- [UVALive5058] Counting BST && 计数DP + BST
- 01背包
- 1036. Boys vs Girls (25)
- 定位不到元素的原因
- CAKeyframeAnimation简单旋转动画
- KMP算法
- PIC(programmable interrupt controller),可编程中断控制器。
- POJ 2253 Frogger(kuangbin带你飞 专题四:最短路)
- 将sql的多行查询结果拼接成一个字符串
- windows平台下,c++获取cpu型号,读取注册表获取系统软硬件信息代码
- n后问题
- API实例快速参考
- Java实现: 把二元查找树转变成排序的双向链表(树)