• CALayer(一)


    CALayer

    CALayer和UIView

    CALayer和UIView相比--CALayer少了事件处理的功能,所以更加轻量级,性能更好一点,这就说明如果有一些和用户交互的东西是不建议用CALayer的

    CALayer下的基本动画

    这里是一个简单的CABasicAnimation的动画效果--延Z轴旋转的小太阳

    旋转.gif

    
    //转动的小太阳
        _sunLayer = [[CALayer alloc]init];
        _sunLayer.bounds = CGRectMake(0, 0, 80, 80);
        _sunLayer.position = CGPointMake(self.view.width -80, 180);
        _sunLayer.delegate = self;//设置图层代理
        _sunLayer.cornerRadius = 40;//圆角
        _sunLayer.masksToBounds = YES;//
        _sunLayer.contents = (id)[UIImage imageNamed:@"sun"].CGImage;
        [self.view.layer addSublayer:_sunLayer];//添加图层到根图层
        [self beginAnimation];//执行动画的方法
    
    
      -(void)beginAnimation {
        
        //1.创建动画
        CABasicAnimation *basicAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
        //2.设置动画属性初始值和结束值
        basicAnimation.toValue = [NSNumber numberWithFloat:M_PI*2];
        //3.设置其他动画属性
        basicAnimation.duration = 5.0;
        basicAnimation.removedOnCompletion = NO;//结果后是否移除
        basicAnimation.repeatCount = HUGE_VAL;//设置重复次数,huge_valf可看做无穷大,起到循环动画的效果
        //4.添加动画到图层,注意key相当于给动画进行命名,以后获得该动画时可以使用此名称获取
        [_sunLayer addAnimation:basicAnimation forKey:@"animation_transframe"];
    }
    
    

    这样这个图片就会在Z轴旋转

  • 相关阅读:
    区间未出现的最小值(牛客)
    (大幂分解求和)A^X mod P(数的高次幂)
    刷题-力扣-面试题17.10. 主要元素
    刷题-力扣-503. 下一个更大元素 II
    刷题-力扣-232. 用栈实现队列
    刷题-力扣-1476. 子矩形查询
    刷题-力扣-338. 比特位计数
    刷题-力扣-304. 二维区域和检索
    刷题-力扣-303. 区域和检索
    刷题-力扣-896. 单调数列
  • 原文地址:https://www.cnblogs.com/ritian/p/6371646.html
Copyright © 2020-2023  润新知