如果 nib 或 storyboard 里用了 autoLayout,那么在viewDidLoad调sizeToFit是不管用的,因为实际顺序是先执行viewDidLoad再执行 autoLayout,执行 autoLayout 的时候会把 sizeToFit 的结果覆盖掉。不过,在viewDidLayoutSubviews里调sizeToFit是管用的。
一、设置sizeToFit
1.从Nib中加载View

2.修改textField自适应

3.view进行subviews布局


4.父View调用子View的layoutSubviews


5.因为SubView执行 autoLayout 的时候把 sizeToFit 的结果覆盖掉,所以执行sizeToFit没有生效。
二、让sizeToFit生效
1.在View的layoutSubviews之后进行更改


2.在控制器ViewDidLayoutSubviews进行更改

网友评论