0
我正在使用Auto Layout和Size Classes。我有主視圖下一個測試圖像這樣:子視圖Rect不等於視圖使用AutoLayout時的Rect
與所有6個約束:
預期的結果應具有測試圖具有完全相同的矩形的值。但事實並非如此。我究竟做錯了什麼?我怎樣才能達到這樣的行爲?
viewDidLoad中記錄:
iPhone 5:
主視圖 - 的NSRect:{{0,0},{320,568}}
測試視圖:的NSRect:{{0,0 },{600,600}}
iPhone 6:
主視圖 - 的NSRect:{{0,0},{375,667}}
測試視圖:NSRect:{{0,0},{600,600}}
OMG ....謝謝。這是完全合理的。這意味着我應該在'viewDidLayoutSubviews'函數中配置我的視圖。 – docchang
@docchang:我更喜歡在[viewWillLayoutSubviews]中執行我的視圖配置(https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/改爲UIViewController/viewWillLayoutSubviews)。在這種方法中,'[[UIApplication sharedApplication] statusBarOrientation]'正確地反映了任何飛行中方向更改轉換的最終狀態,這會影響佈局。所以,如果我需要在一個方向改變的情況下交換視圖,我會在這裏執行。 – jp2g