今天爱分享给大家带来IOS UIView和setNeedsDisplay和setNeedsLayout方法【详细介解】,希望能够帮助到大家。
(1) 在 Mac OS 中 N SWi ndow 的父类是 NSRespo nder,而在 i OS 中
UIWi ndow的父类是UIVIew。程序一般只有一个窗口但是会又很多视图。
(2)UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布 局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体、等 等。
(3) UIViewController负责创建其管理的视图及在低内存的时候将他们从内 存中移除。还为标准的系统行为进行响应。
(4)layOutSubViews可以在自己定制的视图中重载这个方法,用来调整子 视图的尺寸和位置。
(5) UIView的setNeedsDisplay(需要重新显示,绘制)和setNeedsLayout(需要 重新布局)方法。首先两个方法都是异步执行的。而setNeedsDispla y会调 用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurre ntCo ntext, 就可以画画了。而setNeedsLayout会默认调用layoutSubViews,就可以处 理子视图中的一些数据。
综上所述:setNeedsDisplay方便绘图,而layoutSubViews方便出来数据 setNeedDisplay告知视图它发生了改变,需要重新绘制自身,就相当于刷 新界面.