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

标签 uiviewcontroller ios7 orientation

背景:该应用程序是仅在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/

相关文章:

ios - View Controller 的 iPhone AutoLayout Root View 无法固定

cocoa-touch - 横向启动应用程序会导致启动时旋转

ios - 单击不选择 uitableview ios 7 中的行

java - 服务中的方向监听器

ios - 更改方向时 UIScrollView 的问题,iOS

ios - 如何从 SKView 或 ViewController 暂停 SKScene

iphone - 重命名的 Storyboard中 UIViewController 子类的生命周期方法永远不会被调用

swift - 以编程方式初始化 ViewController

iphone - 如何调整表格 View 布局?

objective-c - UIGravityBehavior 不工作