12

我有一个由单个视图组成的非常简单的应用程序。一切正常,应用程序旋转,屏幕右侧的按钮可点击。我正在使用 iOS 7 和 Xcode 5。

如果我进入情节提要并选择视图然后执行编辑器 > 嵌入 > 标签栏控制器,现在当应用程序从纵向旋转到横向时,应用程序的右侧不可点击。它似乎距离它停止工作的左侧正好 768 像素,所以这让我觉得应用程序中有些东西没有旋转。有什么问题?

它只是一个基本的单视图向导应用程序,我在上面放置了一些 UI 元素进行测试。唯一让它停止工作的是嵌入标签栏中。

这是整个项目:https ://github.com/tomkincaid/rotate

更新:我最初为 iPhone 和 iPad 使用了相同的 iPhone 故事板,并认为这可能是问题所在。但是,我创建了一个新的 iPad 故事板,它也有同样的问题。

另一个更新:如果我将视图放在导航控制器中,它就可以工作。所以 View 有效,Tab>Nav>View 有效,但 Tab>View 无效。

在此处输入图像描述

4

5 回答 5

15

我有同样的问题。将以下代码放在我的视图控制器的 viewDidLoad 中修复了它:

self.view.autoresizesSubviews = YES;
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
于 2013-10-01T01:12:14.267 回答
4

只需将以下代码放入您的 TabBarViewController 类中。

- (void)viewDidLayoutSubviews
{
    // fix for iOS7 bug in UITabBarController
    self.selectedViewController.view.superview.frame = self.view.bounds;
}
于 2013-11-20T17:50:38.123 回答
2

要详细说明这个答案,您可以通过编辑情节提要的源代码来获得相同的结果。

更换

<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>

对于导致问题的视图控制器的视图。

于 2014-02-14T17:53:00.577 回答
1

在左侧的视图控制器列表中导航到受影响的视图/视图控制器,将视图拖到第一响应者下方,使其与视图控制器的视图解除关联。

然后转到右侧的布局选项卡,选择所有 4 个锚点和两组调整大小箭头(水平 + 垂直)。

然后将视图拖回原来的位置(就在视图控制器下方)。

于 2013-10-09T19:08:22.883 回答
0

我也面临同样的问题,并通过在应用程序委托的 didFinishLaunchingWithOptions 方法中添加以下代码来解决它。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

window 是主界面 .xib 文件的对象。

于 2015-02-11T12:48:56.547 回答