注後自動設定其大小的UIView:這可能是Subview Doesnt AutoSize When Added to Root View Controller添加到窗口
重複我有一個iPad應用程序,在其主窗口不同意見之間切換。視認切換代碼如下所示:
- (void)switchToViewController:(UIViewController*)viewController {
if (currentViewController != viewController) {
[currentViewController.view removeFromSuperview];
currentViewController = viewController;
[window addSubview:viewController.view];
}
}
的問題是,當新的視圖(一UISplitView)出現在橫向,它不是大小以填滿整個窗口。右側有一個很大的空白區域。它看起來像視圖只有768個像素寬,而不是橫向窗口的1024像素寬度。
如果我將設備旋轉至縱向,然後回到橫向,則視圖會自行調整大小。
如果設備是縱向的,一切工作正常。如果它是我展示的第一個視圖,則UISplitView也可以正確調整大小。只有在橫向顯示另一個視圖後切換到該視圖時,纔會出現此問題。
那麼,有沒有辦法迫使iPhone操作系統在添加到窗口後調整視圖的大小?
我試過撥打sizeToFit
和setNeedsLayout
。我也嘗試將視圖的bounds
設置爲窗口的bounds
,並且我嘗試將frame
設置爲與先前視圖的框架相匹配。
難道你不會在這裏遇到問題,因爲你不計算導航欄的20像素? – basti 2012-03-05 13:35:41