uiview的几个刷新的界面刷新的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uiview的几个刷新的界面刷新的方法相关的知识,希望对你有一定的参考价值。
<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 改变
以上是关于uiview的几个刷新的界面刷新的方法的主要内容,如果未能解决你的问题,请参考以下文章
带有 TableView 和 CollectionView 的 UiView 不会随机刷新
UITableView上方的自定义UIView(用户拉动刷新时)