zoukankan      html  css  js  c++  java
  • CALayer的认识

    CALayer的认识

    1.iOS中所有看得见的控件都需要UIView 包括UIwindow也是一个特殊的UIView

    2.UIview对象在创建的时候  UIView内部回会去自动创建一个图层 CALayer对象 

    举个例子 就是可以通过UIview的layer属性去访问他

    3.UIview的现实过程

    UIview需要显示在屏幕上的时候 会调用drawRect方法进行绘图  并且将所绘制的内容放在自己的图层上面,绘图完毕后,系统会讲图层拷贝到屏幕上  完成屏幕显示 

         UIview本身不能显示  是calayer完成的显示

    4 ,举个例子 开发过程中 可以通过CALyaer对象去 很方便的调整UIView的外观属性

         圆角  影音 边框 contents需要强转维CGImage   还可以添加一些自定义的动画

    5.自定义layer   可以实现和UIview一样的展示效果 

       我们自定义CALayer   正常的View自己有一个的一个layer 属性

       我们可以通过CALayer的类方法自己去自定义个  

    设置了属性后 最后别忘了  [self.view.layer addSublayer:layer]

    又一个细节点值得注意的是  如果一个控件 是另外一个控件的子控件  那么控件中的layer也是另外一个控件的子layer  最简单的例子就是截屏操作的时候 为什么能够全部

    6.CALyaer是QuarzCore框架中的   CGImageRef和CGCoreRef是定义在CoreGrapgics中的 

    前面的两个都是跨平台的 

       UIColor和UIimage是定义在的 UIKit中的  专属于iOS的

       如果你能用UIColre和UIimage 

    QuarzCore 不恩能够使用uUIColor和UIImage 只能使用CGColorRef和 CGImageRef

    UIview比CALayer多了一个事件处理的功能    为什么?????

      因为他是继承自那个  NSObject的   不是继承自UIResponder

      CALyaer的性能高一代呢    少了处理事件的处理

      一般的时候是用不着的

    7.CALayer有两个属性      position和  anchorpoint(取值是0-1)

        anchorpoint决定了哪个点移动到 (100,100)的位置  不是默认的 左上角 00到那个位子 

     

  • 相关阅读:
    【Linux】Linux多个关机命令详解
    【树莓派】树莓派(Debian)- root用户无法使用SSH登录
    【树莓派】树莓派3B安装宝塔面板并配置安装LNMP
    class4/class10/UHS-1/UHS-3 SD卡速度等级区别
    electron-h5-网络状态检测
    electron-消息对话框
    electron-上传文件、保存文件
    electron-子窗口与父窗口通信
    electron-打包
    BrowserView-嵌入网页、open打开子窗口
  • 原文地址:https://www.cnblogs.com/Ninesday/p/5937212.html
Copyright © 2011-2022 走看看