注后自动设定其大小的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