如何调整 UIViewControllerWrapperView 的方向(在 IOS7 中)?
Posted
技术标签:
【中文标题】如何调整 UIViewControllerWrapperView 的方向(在 IOS7 中)?【英文标题】:How to adjust the orientation of UIViewControllerWrapperView (in IOS7)? 【发布时间】:2013-11-23 13:08:45 【问题描述】:背景:该应用程序是一个 iPad 应用程序,仅在横向运行。在将应用程序升级到 Xcode 5 并在 ios7 模拟器中运行时,我注意到屏幕右侧的一些按钮没有完全激活。即按钮左侧只有一小部分是可点击的。
观察: 在 IOS6 和 IOS7 模拟器中运行相同的源代码,并使用 REVEAL 工具查看视图层次结构,我可以看到 UIViewControllerWrapperView(我的***视图的父级)的尺寸controller) 对于 IOS6 (1024x768) 是横向的,但对于 IOS7 是纵向的。
我正在尝试找到一种方法将 UIViewControllerWrapperView 的框架设置为正确的尺寸。在视图控制器的 viewDidLoad 方法中,我尝试获取对 self.view.superview 的引用,但它返回 nil。
谁能解释一下; a) 为什么 UIViewControllerWrapperView 的框架在 IOS7 而不是 IOS6 中运行时的方向错误,更重要的是 b) 如何使其正确?
【问题讨论】:
【参考方案1】:您使用的是 UITabBarController 吗?我们遇到了完全相同相同的问题,并通过在 UITabBarController 上添加它来使其正常工作:
- (void)viewDidLayoutSubviews
// fix for iOS7 bug in UITabBarController
self.selectedViewController.view.superview.frame = self.view.bounds;
为什么? check this answer
【讨论】:
谢谢。我们有一个仍在 iOS 7.0.1 上的 QA 实验室 iPad,出于某种原因,我们觉得这个问题需要解决。嘎!以上是关于如何调整 UIViewControllerWrapperView 的方向(在 IOS7 中)?的主要内容,如果未能解决你的问题,请参考以下文章