zoukankan      html  css  js  c++  java
  • 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轴旋转

  • 相关阅读:
    mysql问题: alter导致速度慢
    MySQL的mysql_insert_id和LAST_INSERT_ID
    linux动态链接库---一篇讲尽
    jsoncpp第二篇------API
    SVN第二篇-----命令集合
    svn第一篇----入门指南
    数据结构之堆
    SZU4
    SZU1
    SZU2
  • 原文地址:https://www.cnblogs.com/ritian/p/6371646.html
Copyright © 2011-2022 走看看