如果 nib 或 storyboard 里用了 autoLayout,那么在viewDidLoad調(diào)sizeToFit是不管用的碎绎,因為實際順序是先執(zhí)行viewDidLoad再執(zhí)行 autoLayout螃壤,執(zhí)行 autoLayout 的時候會把 sizeToFit 的結(jié)果覆蓋掉。不過筋帖,在viewDidLayoutSubviews里調(diào)sizeToFit是管用的奸晴。
一、設(shè)置sizeToFit
1.從Nib中加載View
加載View
2.修改textField自適應(yīng)
加載view時修改約束生效
3.view進行subviews布局
subviews布局
沒有改變subview的frame
4.父View調(diào)用子View的layoutSubviews
layoutSubviews布局
subview.frame變化
5.因為SubView執(zhí)行 autoLayout 的時候把 sizeToFit 的結(jié)果覆蓋掉日麸,所以執(zhí)行sizeToFit沒有生效寄啼。
二、讓sizeToFit生效
1.在View的layoutSubviews之后進行更改
更改sizeToFit
sizeToFit成功
2.在控制器ViewDidLayoutSubviews進行更改
更改sizeToFit