zoukankan      html  css  js  c++  java
  • UIView和CALayer区别

    (1)首先UIView可以响应用户的触摸事件,Layer不可以. 

    (2)View中frame getter方法,bounds和center,UIView并没有做什么工作;它只是简单的各自调用它底层的CALayer的frame,bounds和position方法。

    (3)UIView主要是对显示内容的管理而CALayer 主要侧重显示内容的绘制。

    (4)在做iOS 动画的时候,修改非RootLayer的属性(譬如位置、背景色等)会默认产生隐式动画,而修改UIView则不会。每个UIView 内部都有一个CALayer 在背后提供内容的绘制和显示,并且UIView 的尺寸样式都由内部的Layer 所提供。两者都有树状层级结构,layer 内部有SubLayers,View 内部有SubViews.但是Layer 比View 多了个AnchorPoint 

    在View显示的时候,UIView 做为Layer 的CALayerDelegate,View 的显示内容由内部的CALayer 的display 

    (5)CALayer是定义在CoreGraphic框架中的,设置颜色和图像属性的时候要转换成CGColor和CGImage属性

    (6)如果两个UIView是父子关系,那么它们内部的CALayer也是父子关系。

    (7)两者最明显的区别是View可以接受并处理事件,而Layer 不可以;图层不能直接渲染到屏幕上。

  • 相关阅读:
    MySQL版本详解
    数据库安全[一]
    python itertools模块学习
    两列布局实例
    Linux 原始套接字抓包实例
    [转]Linux终端快捷键
    SQL中的LEFT JOIN 和 RIGHT JOIN 以及INNER JOIN
    twisted框架入门笔记(1)
    一个关于lambda的题目
    找出数组中仅仅一个出现两次的数
  • 原文地址:https://www.cnblogs.com/FZP5/p/10008204.html
Copyright © 2011-2022 走看看