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