我有一個視圖已經在Interface Builder中創建,並且已配置爲根據方向調整大小。如果在應用程序處於縱向模式時創建視圖並將其添加到顯示器,則一切正常。然後,我可以旋轉設備/模擬器,並按照我的預期調整視圖大小。但是,如果在應用處於橫向模式時添加視圖,則無法正確調整大小。該視圖的創建和大小就好像該應用仍處於肖像模式一樣。該視圖添加了以下代碼:添加子視圖時,如果應用處於橫向模式,則視圖不會調整大小
self.viewController = [[MyViewController alloc] initWithNibName:nibName bundle:bundle];
[self addSubview:self.viewController.view];
這裏沒有神奇的事情發生。此外,視圖控制器還指定:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
此外,只要在縱向模式下添加視圖,它就會按預期工作。我嘗試了幾種不同的方法,包括在視圖中手動設置autoresizingMask屬性,調用setNeedsLayout,並調用layoutIfNeeded,但似乎沒有任何工作。我可以手動設置框架的寬度和高度來強制視圖的大小,但這會打破視圖的動態特性。例如,如果我手動設置寬度,高度不會調整,因爲內容不會重新佈局。
任何想法?
如果這行不通,設置self.viewController.view的還成立autotresizing自面罩框架.viewController.view,默認情況下它沒有調整它的子視圖的大小 – 2013-02-25 09:50:24