您的位置:首页
(一二一)核心动画基础
2017-05-22 10:54
197 查看
核心动画基于QuartzCore框架,仅仅能用于CALayer,能够实现3D效果。它在子线程中运行动画,不会堵塞主线程。
要实现核心动画,主要使用CABasicAnimation实现单步动画、使用CAKeyframeAnimation实现帧动画。
动画的主要属性有duration、keyPath、value、repeatCount等。
动画运行完成后默认会复位,要取消复位,须要下面两行代码:
要实现单步动画。使用CABasicAnimation对象就可以:
利用keyPath指定操作的属性,使用toValue指定变化到的值。
要实现帧动画,通过CAKeyframeAnimation对象。通过多个value指定动作,或者通过贝塞尔曲线指定路径都能够:
多个value:
路径:
要实现核心动画,主要使用CABasicAnimation实现单步动画、使用CAKeyframeAnimation实现帧动画。
动画的主要属性有duration、keyPath、value、repeatCount等。
动画运行完成后默认会复位,要取消复位,须要下面两行代码:
anim.removedOnCompletion = NO; anim.fillMode = kCAFillModeForwards;
要实现单步动画。使用CABasicAnimation对象就可以:
利用keyPath指定操作的属性,使用toValue指定变化到的值。
CABasicAnimation *anim = [CABasicAnimation animation];
anim.duration = 0.5f;
anim.keyPath = @"transform";
anim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0, 1, 0)];
anim.repeatCount = 100;
// 动画默认会复位。要取消复位,首先禁止动画移除。然后设置保持新位置。
anim.removedOnCompletion = NO; anim.fillMode = kCAFillModeForwards;
[_blueView.layer addAnimation:anim forKey:nil];
要实现帧动画,通过CAKeyframeAnimation对象。通过多个value指定动作,或者通过贝塞尔曲线指定路径都能够:
多个value:
CAKeyframeAnimation *anim2 = [CAKeyframeAnimation animation]; anim2.duration = 0.5f; anim2.keyPath = @"position"; anim2.repeatCount = 100; NSValue *p1 = [NSValue valueWithCATransform3D:CATransform3DMakeTranslation(50, 0, 0)]; NSValue *p2 = [NSValue valueWithCATransform3D:CATransform3DMakeTranslation(0, 0, 0)]; NSValue *p3 = [NSValue valueWithCATransform3D:CATransform3DMakeTranslation(-50, 0, 0)]; NSValue *p4 = [NSValue valueWithCATransform3D:CATransform3DMakeTranslation(0, 0, 0)]; anim2.values = @[p1,p2,p3,p4]; anim2.removedOnCompletion = NO; anim2.fillMode = kCAFillModeForwards;
路径:
CAKeyframeAnimation *anim2 = [CAKeyframeAnimation animation]; anim2.duration = 0.5f; anim2.keyPath = @"position"; anim2.repeatCount = 100; anim2.removedOnCompletion = NO; UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(100,100,200,200)]; anim2.path = path.CGPath; anim2.fillMode = kCAFillModeForwards;不要忘记把动画加入到layer。
相关文章推荐
- (一二一)核心动画基础
- (一二一)核心动画基础
- 第二部分 核心动画基础---第三章 基础动画
- iOS开发UI篇—核心动画(基础动画)
- CoreAnimation-04-核心动画必备基础
- 核心动画基础动画(CABasicAnimation)关键帧动画
- 核心动画基础动画
- 第二部分 核心动画基础---第三章 基础动画
- iOS开发基础知识:Core Animation(核心动画)
- 动画和核心动画为基础的导航
- 核心动画基础动画(CABasicAnimation)关键帧动画
- 基础动画和核心动画导览
- iOS开发UI篇—核心动画(基础动画)
- 猫猫学IOS(三十九)UI之核心动画之CABasicAnimation(基础动画)
- 核心动画——基础动画
- 动画和核心动画为基础的导航
- iOS基础 - 核心动画
- 猫猫学IOS(三十九)UI之核心动画之CABasicAnimation(基础动画)
- 48.核心动画之基础动画
- iOS核心动画----基础动画