背景:该应用程序是仅在Landscape中运行的iPad应用程序。将应用程序升级到Xcode 5并在IOS7模拟器中运行时,我注意到屏幕右侧的某些按钮没有完全激活。也就是说,仅可点击按钮左侧的一小部分。
观察:在IOS6和IOS7模拟器中运行相同的源代码,并使用REVEAL工具查看 View 层次结构,我可以看到UIViewControllerWrapperView(我的顶级 View Controller 的父级)的尺寸是IOS6(1024x768)的景观),但是IOS7的肖像。
我试图找到一种方法来将UIViewControllerWrapperView的框架设置为正确的尺寸。在 View Controller 的viewDidLoad方法中,我尝试获取对self.view.superview的引用,但它返回nil。
有人可以解释吗? a)为什么在IOS7中而不是IOS6中运行时,UIViewControllerWrapperView的框架方向错误,更重要的是,b)如何使其正确?
最佳答案
您是否正在使用UITabBarController?我们将与完全相同,并通过在UITabBarController上添加以下代码使它起作用:
- (void)viewDidLayoutSubviews
{
// fix for iOS7 bug in UITabBarController
self.selectedViewController.view.superview.frame = self.view.bounds;
}
为什么? check this answer
关于uiviewcontroller - 如何调整UIViewControllerWrapperView的方向(在IOS7中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162683/