zoukankan      html  css  js  c++  java
  • 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 = @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.什么场景使用核心动画最多?

          在转场动画中,核心动画的类型比较多

      根据一个路径做动画,只能用核心动画(帧动画)

      动画组:同时做多个动画

  • 相关阅读:
    liferay常用api总结
    liferay增删改简单小练习
    MD5加密
    日期的工具类
    java生成随机六位数的验证码&随机生成十位数ValidCode码,用于邮件的验证&检查是不是符合为合法的中国的手机号码
    MyBaties
    网页的外观---CSS层叠样式表---03
    还在买鲜花送女神?手把手教你搭建3D立体相册网站,包女神稀饭
    Vue入门——常见指令及其详细代码示例
    什么是可串行化MVCC
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5840793.html
Copyright © 2011-2022 走看看