• 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.什么场景使用核心动画最多?

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

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

      动画组:同时做多个动画

  • 相关阅读:
    css选择器的分类及优先级计算方法总结
    第四周实验总结&实验报告
    2019春季总结
    第七周课程总结&实验报告五
    第六周学习总结&java实验报告四
    第二周Java学习总结
    第九周课程总结&实验报告(七)
    第五周学习总结&实验报告三
    第三周课程总结及实验报告
    第八周课程总结&实验报告(六)
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5840793.html
Copyright © 2020-2023  润新知