• caLayer


    UIView之所以能显示在屏幕上,完全是因为它内部的一个UIView本身不具备显示的功能,是它内部的才有显示功能

    创建UIView对象时,UIView内部会自动创建一个(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的上,绘图完毕后,系统会将拷贝到屏幕上,于是就完成了UIView的显示。

    shadowColor:    // 阴影颜色

    shadowOffset = CGSizeMake(x,y):// 阴影位置

    shadowOpacity: // 透明度

    cornerRadius:    // (圆角)半径

    masksToBounds = YES/NO; // 强制内部的所有子层跟随layer的边界效果

    CALayer通过AddSubLayer方法添加子层

    layer.bounds = CGRectMake(0,0,100,100); // 尺寸

    layer.position = CGPointMake(100,100); // 中点会在position所指的位置

    无论采取哪种方法自定义层,都必须调用CALayer的setNeedsDisplay方法才能正常绘图: // 通知层进行绘制

     CAAnimation的常用属性:

    duration:持续时间

    repeatCount:重复次数

    timingFunction:动画运行节奏

     timingFunction可选的值:

    • kCAMediaTimingFunctionLinear(线性
    • kCAMediaTimingFunctionEaseIn(渐进
    • kCAMediaTimingFunctionEaseOut(渐出
    • kCAMediaTimingFunctionEaseInEaseOut(渐进渐出
     @interface NSObject (CAAnimationDelegate)
     // 动画开始执行的时候触发这个方法
     - (void)animationDidStart:(CAAnimation *)anim;
     
     // 动画执行完毕的时候触发这个方法
     - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;
     @end
     
     
     
     
  • 相关阅读:
    Linux下wget下载软件小技巧以及安装jdk、tomcat与ftp服务器
    C++计算二叉树的节点数和高度
    转:POST 400 Bad Request The request sent by the client was syntactically incorrect
    SSM项目spring配置文件详细步骤(分门别类、灵巧记忆)
    IntelliJ IDEA里找不到javax.servlet的jar包
    51nod 1533 && CF538F
    51nod 1189
    51nod 1225
    51nod 1040
    51nod 1610
  • 原文地址:https://www.cnblogs.com/wangshengl9263/p/3048540.html
Copyright © 2020-2023  润新知