首页 > 代码库 > ios开发核心动画七:核心动画与UIView动画的区别
ios开发核心动画七:核心动画与UIView动画的区别
/** UIView与核心动画区别?(掌握) 1.核心动画只作用在layer. 2.核心动画看到的都是假像,它并没有去修改UIView的真实位置. 什么时候使用核心动画? 1.当不需要与用户进行交互,使用核心动画 2.当要根据路径做动画时,使用核心动画:CABasicAnimation,CAKeyFrameAnimation,两个都可以根据绘制的路径UIBizerPath来绘制路径来执行动画 3.当做转场动画时, 使用核心动画 (核心动画转场类型比较多)CATrasition或是UIView的核心动画 */#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIView *redView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%@",NSStringFromCGRect(self.redView.frame)); }-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { // CABasicAnimation *anim = [CABasicAnimation animation];// anim.keyPath = @"position.y";// anim.toValue = http://www.mamicode.com/@400;>// anim.removedOnCompletion = NO;// anim.duration = 1;// anim.fillMode = kCAFillModeForwards;// anim.delegate = self;// [self.redView.layer addAnimation:anim forKey:nil]; [UIView animateWithDuration:0.5 animations:^{ self.redView.center = CGPointMake(50, 400); }completion:^(BOOL finished) { NSLog(@"%@",NSStringFromCGRect(self.redView.frame)); }]; }//动画开始时执行-(void)animationDidStart:(CAAnimation *)anim { //NSLog(@"%s",__func__);}//动画完成时执行-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag { //NSLog(@"%s",__func__); // NSLog(@"finished==%@",NSStringFromCGRect(self.redView.frame));}@end
1.UIView和核心动画区别?
核心动画只能添加到CALayer
核心动画一切都是假象,并不会改变真实的值。
2.什么时候使用UIView的动画?
如果需要与用户交互就使用UIView的动画.
不需要与用户交互可以使用核心动画
3.什么场景使用核心动画最多?
在转场动画中,核心动画的类型比较多
根据一个路径做动画,只能用核心动画(帧动画)
动画组:同时做多个动画
ios开发核心动画七:核心动画与UIView动画的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。