UIViewController中也新增了一個更新佈局約束的方法,在AutoLayout UIView相關API的筆記中,詳細講述了UIView的一組更新佈局約束的方法。佈局
這個方法默認的實現是調用對應View的 -updateConstraints 。ViewController的View在更新視圖佈局時,會先調用ViewController的updateViewConstraints 方法。咱們能夠經過重寫這個方法去更新當前View的內部佈局,而不用再繼承這個View去重寫-updateConstraints方法。咱們在重寫這個方法時,務必要調用 super 或者 調用當前View的 -updateConstraints 方法。spa
經過代碼爲xib或sb中view增長約束時,儘可能避免在viewDidLoad中執行,最好放在updateViewConstraints[UIViewController]或者updateConstraints[UIView]中,記得調用[super updateViewConstraints]或者[super updateConstraints];.net
- (void)updateViewConstraints { // 在這裏爲你的view添加約束,請確保該view的translatesAutoresizingMaskIntoConstraints屬性已設置爲NO [super updateViewConstraints]; }