(1) 在 Mac
OS
中 NSWindow
的父类是 NSResponder
,而在 iOS
中 UIWindow
的父类是 UIVIew
。程序一般只有一个窗口但是会有很多视图。
(2) UIView
的作用:负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体、等等。
(3) UIViewController
:负责创建其管理的视图及在低内存的时候将他们从内存中移除;还为标准的系统行为进行响应。
(4) layOutSubViews
:可以在自己定制的视图中重载这个方法,用来调整子视图的尺寸和位置。
(5) UIView
的 setNeedsDisplay
(需要重新显示,绘制)和setNeedsLayout
(需要重新布局)方法。首先两个方法都是异步执行的。而 setNeedsDisplay
会调用自动调用 drawRect
方法,这样可以拿到 UIGraphicsGetCurrentContext
,就可以画画了。而 setNeedsLayout
会默认调用 layoutSubViews
,就可以处理子视图中的一些数据。
综上所述:setNeedsDisplay
方便绘图,而 layoutSubViews
方便处理数据。setNeedsDisplay
告知视图它发生了改变,需要重新