2014-10-29 31 views
1

我創建我的約束主要在viewDidLoad。在updateViewConstraints我添加或刪除一些子視圖,另外添加和刪除約束。作爲一個便箋,我使用了一個帶有子視圖控制器的容器,並且我正在對不同的方向重複使用相同的視圖(全景在縱向,在縱向上是一個彈出窗口)。手動調用updateViewConstraints是個好主意嗎?

因爲我在updateViewConstraints中完成了我的設置,所以我必須在某些情況下手動調用它以適應視覺變化而不是制約約束條件(例如,當在彈出窗口中呈現相同的視圖時,或者在iOS 7上它不是呼籲旋轉)。我也嘗試使用setNeedsUpdateConstraints等,但總是打破了我的限制。

我現在的問題是我可以手動撥打updateViewConstraints嗎?它是否有一些負面影響?或者我的應用程序流是錯的?

回答

3

根據優秀iOS Auto Layout Demystified, 2nd EditionErica Sadun,這是完全可以接受的直接調用updateViewConstraints

當使用視圖,你叫setNeedsUpdateConstraints (setNeedsUpdate約束:在OS X),以表明一個觀點需要 關注下一個佈局過關。使用視圖控制器,您直接調用 updateViewConstraints方法,一般在設置 (viewWillAppear :)並響應旋轉回調時調用。

相關問題