我已经多次遇到这个错误。我有一个带有导航控制器(隐藏导航栏)的应用程序。当“按下”按钮时,我想用 tabbarviewcontroller 推送另一个视图。推送新视图时,它比应有的低 20 像素(并且部分选项卡栏不可见)。
如果我从 tabbarviewcontroller 输入模态视图控制器然后我将其关闭,则 tabbarviewcontroller 会正确显示。
我将状态栏放在每个视图中未指定(认为这是问题所在),并且我取消了每个视图的自动调整大小子视图的检查。
我已经多次遇到这个错误。我有一个带有导航控制器(隐藏导航栏)的应用程序。当“按下”按钮时,我想用 tabbarviewcontroller 推送另一个视图。推送新视图时,它比应有的低 20 像素(并且部分选项卡栏不可见)。
如果我从 tabbarviewcontroller 输入模态视图控制器然后我将其关闭,则 tabbarviewcontroller 会正确显示。
我将状态栏放在每个视图中未指定(认为这是问题所在),并且我取消了每个视图的自动调整大小子视图的检查。
在您的代码中使用 bounds 属性而不是 application frame 。在我的工作中,希望也能以防万一...... :)
这听起来可能与已知的 NIB/XIB 文件错误有关(有关更多信息,请参阅:http ://forums.bignerdranch.com/viewtopic.php?f=51&t=125 )
正如链接的论坛主题所建议的那样,解决方法只需使用以下内容:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
[[self view] setFrame:appFrame];
}
谢谢您的回答。我以某种方式做到了,稍微玩了一下标签栏的框架。
[self.tabBarController.view setFrame:CGRectMake(0, 0, 320, 460)];
[self.view addSubview:tabBarController.view];
[self.view bringSubviewToFront:tabBarController.view];
我记得不久前尝试过这个但没有工作。现在它做到了。此外,干预界限也有所帮助。