一、UIView显示原理
        一个控件,UIView之所以可以显示,是因为内部在UIView的内部有一个layer属性作为根图层,根图层上可以放其他子图层,在UIView中所有能够看到的内容都包含在layer中,当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示出来。
 

二、UIView显示过程

2.1.、view.layer会准备一个Layer Graphics Contex(图层类型的上下文)
2.2、 调用view.layer.delegate(view)的drawLayer:inContext:方法,并传入刚才准备好的上下文
2.3、 view的drawLayer:inContext:方法,内部又会调用view的drawRect:方法绘图
2.4、 view就可以在drawRect:方法中实现绘图代码, 所有东西最终都绘制到view.layer上面
2.5、 系统再将view.layer的内容拷贝到屏幕, 于是完成了view的显示
 

最新文章

  1. Mysql 学习之基础操作
  2. 如何给CentOS安装字体库
  3. SQL调优常用方法
  4. Java系列笔记(3) - Java 内存区域和GC机制
  5. iOS—最全的真机测试教程
  6. 详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法
  7. android操作sdcard中的多媒体文件(一)——音乐列表的制作
  8. HDU 4027 Can you answer these queries?(线段树的单点更新+区间查询)
  9. 初识HTML5
  10. socket计划——一个简单的例子
  11. MySQL关联查询总结
  12. 深入了解css3新特性
  13. thinkphp3.2.2邮箱发送
  14. 关于el-upload上传
  15. JDK动态代理和CGLIB代理的区别
  16. SVN备份还原
  17. 快速搭建一个Express工程骨架
  18. Codeforces Round #371 (Div. 1) D - Animals and Puzzle 二维ST表 + 二分
  19. 【web Api性能提升技巧】(2)从DataReader手工创建Json字符串
  20. JQ集合

热门文章

  1. Linux嵌入式 -- 内核 - 内核定时器
  2. 一个渣渣tomcat的学习成果.
  3. Spring Boot入门——json数据处理
  4. dp4--codeVs1043 方格取数
  5. write.table函数语法:
  6. [STL]vector与排序算法
  7. sgu176 有源汇上下界最小流
  8. mysql 练习题答案
  9. ES6-浏览器运行环境配置方法
  10. 「2017 山东三轮集训 Day7」Easy