如何调整UIViewControllerWrapperView的方向(在IOS7中)?

Bil*_*ill 9 orientation uiviewcontroller ios7

背景:该应用程序是仅在Landscape中运行的iPad应用程序.将应用程序升级到Xcode 5并在IOS7模拟器中运行时,我注意到屏幕右侧的某些按钮未完全激活.即只有按钮左侧的一小部分是可点击的.

观察:在IOS6和IOS7模拟器中运行相同的源代码,并使用REVEAL工具查看视图层次结构,我可以看到UIViewControllerWrapperView(我的顶级视图控制器的父级)的维度是IOS6(1024x768)的格局,但是IOS7的肖像.

我试图找到一种方法将UIViewControllerWrapperView的框架设置为正确的尺寸.在视图控制器的viewDidLoad方法中,我尝试获取对self.view.superview的引用,但它返回nil.

任何人都可以解释; a)为什么UIViewControllerWrapperView的框架在IOS7而不是IOS6中运行时方向错误,更重要的是b)如何使其正确?

Pak*_*toV 7

你在使用UITabBarController吗?我们遇到了完全相同的问题,并通过在UITabBarController上添加它来实现它:

- (void)viewDidLayoutSubviews
{
    // fix for iOS7 bug in UITabBarController
    self.selectedViewController.view.superview.frame = self.view.bounds;
}
Run Code Online (Sandbox Code Playgroud)

为什么?检查这个答案