<font color=#0099ff size=7 face="黑体">iOS的屏幕的变化的时候,界面和屏幕变化之间的关系。以iOS8为分隔点。</font>
其他的属性都是通过分类来进行添加
图层的刷新会影响到约束的问题,
这里最为常用的就是layoutifneed等等方法。
- (void)setNeedsLayout
没有强迫理解刷新,等待下一次刷新(下一个runloop循环到达),在主线程中,一般用于刷新比较多的子视图(任务不急,刷新量大)。
- (void)layoutIfNeeded
强迫立即刷新,view调用的方法为rootview,刷新它的子类。 - (void)layoutSubviews
刷新子类
在ios 5 之前是默认的方法没有起到刷新的作用,需要重写来自定义。
之后的版本默认方法起到了作用,因为autoresizing 和 constraint-based behaviors 提供了基本的默认的布局。我们可以重写这个方法,如果需要自定。或者autoresizing 和 constraint-based behaviors 失效的时候。
自定义的时候,可以直接设置子view的frame。
这个方法不需要直接调用,上面的两个方法被调用的时候回自动调用这个方法。
- setNeedsDisplay
这个方法主要是关于绘画内容的(展示)
(也即是接受的空间需要重新绘画)
主要的内容是关于界面的绘画,界面的绘画出来即为渲染
(渲染:= 绘画 + 呈现)
tintColor是在ios 7 上才会出现的内容,这个般是表示
具有穿透力的等等的颜色,也即是可能子视图使用在没有颜色的时候,就会使用功能这个颜色。可以认为是继承关系。
关于屏幕旋转在iOS 8 以及之后和iOS8之前的一些区别
iOS 7 屏幕旋转的时候,bounds 不改变
iOS 8 屏幕旋转的时候,bounds 改变
关于元类的控制,oc中主要类对象的说法(类)和对象之间的关系。