关于自动布局更新约束方法的总结
2015-05-15 21:22
295 查看
1、layoutSubviews
在iOS5.1和之前的版本,此方法的缺省实现不会做任何事情(实现为空),iOS5.1之后(iOS6开始)的版本,此方法的缺省实现是使用你设置在此view上面的constraints(Autolayout)去决定subviews的position和size。 UIView的子类如果需要对其subviews进行更精确的布局,则可以重写此方法。只有在
2、setNeedsLayout
此方法会将view当前的layout设置为无效的,并在下一个upadte cycle里去触发layout更新。
3、layoutIfNeeded
使用此方法强制立即进行layout,从当前view开始,此方法会遍历整个view层次(包括superviews)请求layout。因此,调用此方法会强制整个view层次布局。
基于约束的AutoLayer的方法:
1、setNeedsUpdateConstraints
当一个自定义view的某个属性发生改变,并且可能影响到constraint时,需要调用此方法去标记constraints需要在未来的某个点更新,系统然后调用
2、needsUpdateConstraints
constraint-based layout system使用此返回值去决定是否需要调用
3、updateConstraintsIfNeeded
立即触发约束更新,自动更新布局。
4、updateConstraints
自定义view应该重写此方法在其中建立constraints. 注意:要在实现在最后调用
在iOS5.1和之前的版本,此方法的缺省实现不会做任何事情(实现为空),iOS5.1之后(iOS6开始)的版本,此方法的缺省实现是使用你设置在此view上面的constraints(Autolayout)去决定subviews的position和size。 UIView的子类如果需要对其subviews进行更精确的布局,则可以重写此方法。只有在
autoresizing和
constraint-based behaviors of subviews不能提供我们想要的布局结果的时候,我们才应该重写此方法。可以在此方法中直接设置subviews的frame。 我们不应该直接调用此方法,而应当用下面两个方法。
2、setNeedsLayout
此方法会将view当前的layout设置为无效的,并在下一个upadte cycle里去触发layout更新。
3、layoutIfNeeded
使用此方法强制立即进行layout,从当前view开始,此方法会遍历整个view层次(包括superviews)请求layout。因此,调用此方法会强制整个view层次布局。
基于约束的AutoLayer的方法:
1、setNeedsUpdateConstraints
当一个自定义view的某个属性发生改变,并且可能影响到constraint时,需要调用此方法去标记constraints需要在未来的某个点更新,系统然后调用
updateConstraints.
2、needsUpdateConstraints
constraint-based layout system使用此返回值去决定是否需要调用
updateConstraints作为正常布局过程的一部分。
3、updateConstraintsIfNeeded
立即触发约束更新,自动更新布局。
4、updateConstraints
自定义view应该重写此方法在其中建立constraints. 注意:要在实现在最后调用
[super updateConstraints]
相关文章推荐
- 关于Javascript与表单结合时出现"对象不支持此属性或方法"的问题总结(不断更新中...)
- ClickOnce,无法在证书存储区中找到清单签名证书的错误提示,应用程序自动更新的方法总结。
- ClickOnce,无法在证书存储区中找到清单签名证书的错误提示,应用程序自动更新的方法总结。
- 关于LR录制时不能自动启动IE浏览器的解决方法总结
- Masonry自动布局详解二:动画更新约束
- Masonry自动布局详解四:整体动画更新约束
- 关于布局TabBar方法总结
- .NET Winform ClickOnce,无法在证书存储区中找到清单签名证书的错误提示,应用程序自动更新的方法总结。
- 108.UIView关于布局和约束的方法(AutoLayout)
- 108.UIView关于布局和约束的方法(AutoLayout)
- iOS中AutoLayer自动布局流程及相关方法
- aotuLayout(masonry、snapKit)约束布局动画更新约束
- ListView自动滑动到顶部(底部)的方法总结
- 关于Android的自动更新库(使用心得)
- C# Winform 跨线程更新UI控件常用方法总结(转)
- 关于在eclipse中创建的web项目中web.xml不自动更新的问题
- 关于ecshop模板更新版本的解决方法(三)
- c# Winform 程序自动更新实现方法
- 关于pycharm代码无法自动补全的解决方法
- CSS-左侧固定宽度,右侧自适应宽度的两列布局实现方法总结