美文网首页程序员iOS程序犭袁
AutoLayout与sizeToFit并存

AutoLayout与sizeToFit并存

作者: tinghua | 来源:发表于2016-05-04 14:22 被阅读1511次

如果 nib 或 storyboard 里用了 autoLayout,那么在viewDidLoad调sizeToFit是不管用的,因为实际顺序是先执行viewDidLoad再执行 autoLayout,执行 autoLayout 的时候会把 sizeToFit 的结果覆盖掉。不过,在viewDidLayoutSubviews里调sizeToFit是管用的。


一、设置sizeToFit

1.从Nib中加载View

加载View

2.修改textField自适应

加载view时修改约束生效

3.view进行subviews布局

subviews布局 没有改变subview的frame

4.父View调用子View的layoutSubviews

layoutSubviews布局 subview.frame变化

5.因为SubView执行 autoLayout 的时候把 sizeToFit 的结果覆盖掉,所以执行sizeToFit没有生效。


二、让sizeToFit生效

1.在View的layoutSubviews之后进行更改

更改sizeToFit sizeToFit成功

2.在控制器ViewDidLayoutSubviews进行更改

更改sizeToFit

相关文章

网友评论

    本文标题:AutoLayout与sizeToFit并存

    本文链接:https://www.haomeiwen.com/subject/eaprrttx.html