zoukankan      html  css  js  c++  java
  • 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
     
     
     
     
  • 相关阅读:
    数据库表设计--备份记录的表设计优化
    WINDOWS CLUSTER -- 时间不同步导致的群集问题
    SQL Server--存在则更新问题
    MySQL--Ansible推送密钥实现免密码登录
    我命由我不由天
    hive中同源多重insert写法
    单文件数据库
    NTP时钟同步配置
    SQL中左连接on and条件和where条件执行先后顺序
    maven引入CDH依赖包
  • 原文地址:https://www.cnblogs.com/wangshengl9263/p/3048540.html
Copyright © 2011-2022 走看看