我在标签栏控制器的一个视图控制器中有一个按钮。全部设置在故事板中。我注册了这样的行动方法
- (IBAction)buttonPressed:(id)sender {
NSLog(@"Button pressed");
}
问题在于,一旦我做出左侧和顶部约束(强制它停留在右上角),在之后触发内部事件停止工作我改变旋转。所以只需在纵向模式下打开应用程序 - 方法正在运行。改为横向,突然我无法点击按钮。
我在这个简单example project中重新创建了问题。
非常感谢。
答案 0 :(得分:2)
将以下代码放在TabBarViewController类中。
- (void)viewDidLayoutSubviews
{
// fix for iOS7 bug in UITabBarController
self.selectedViewController.view.superview.frame = self.view.bounds;
}
答案 1 :(得分:2)
最近我注意到我的应用程序中存在同样的错误。首先我尝试了Slavco Petkovski方法。但这导致了另一个旋转并获得右边界和框架的错误,所以我一直在搜索。
我找到了另一个解决这个问题的方法,主要是在xib中设置视图控制器视图的自动调整掩码。但由于我的Xcode(版本5.0.1)中的检查器中的箭头处于非活动状态而您无法设置它们,因此您必须在文本编辑器中打开xib文件,找到主视图的autoresizingMask属性并将其更改为:
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
编辑:
或者,您可以在视图控制器的代码中执行此操作 - 与xcode中的更改相同:
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;