iOS 7在标签栏中旋转视图时,视图的右侧不可点击
我有一个非常简单的应用程序组成的一个单一的看法。 一切工作正常,应用程序旋转,屏幕右侧的button可点击。 我正在使用iOS 7和Xcode 5。
如果进入故事板并select视图,请执行编辑器>embedded>选项卡栏控制器,现在当应用程序从纵向旋转到横向时,应用程序的右侧不可点击。 它似乎是从左侧停止工作正好是768像素,所以它让我觉得应用程序中有东西没有旋转。 什么可能是错的?
这只是一个基本的单一视图向导应用程序,我把一些用户界面元素,以testing。 唯一让它停止工作的是embedded到标签栏中。
这是整个项目: https : //github.com/tomkincaid/rotate
更新:我最初为iPhone和iPad使用相同的iPhone故事板,并认为这可能是问题。 不过,我创造了一个新的iPad故事板,它有同样的问题。
另一个更新:如果我把视图里面的导航控制器,它的工作原理。 所以查看工程和标签>导航>查看工程,但标签>查看不起作用。
我有同样的问题。 把下面的代码放在我的视图控制器的viewDidLoad中:
self.view.autoresizesSubviews = YES; self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
只要把下面的代码放在你的TabBarViewController类中。
- (void)viewDidLayoutSubviews { // fix for iOS7 bug in UITabBarController self.selectedViewController.view.superview.frame = self.view.bounds; }
为了阐述这个答案 ,你可以通过编辑故事板的源代码来达到同样的效果。
更换
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
同
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
为导致问题的视图控制器的视图。
在左侧的视图控制器列表中,导航到受影响的视图/视图控制器,将视图拖到第一个响应者的下面,以使其与视图控制器的视图分离。
然后转到右侧的布局选项卡,select全部4个锚点和两个resize的箭头(水平+垂直)。
然后将视图拖回原来的位置(就在视图控制器的下面)。
我也面临同样的问题,并通过在应用程序委托的didFinishLaunchingWithOptions方法中添加以下代码解决它。
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
窗口是主界面.xib文件的对象。