隐藏一个导航栏时,导航栏会重叠状态栏以嵌套UINavigationController

时间:2012-11-02 01:52:54

标签: ios uinavigation

我正在遇到看起来像马车的行为。我有一个UINavigationController,其中包含一个tabBarController。 tabBarController有超过5个选项卡,因此有一个更多按钮,它可以加载MoreController navigationController。当然,这会创建嵌套的navigationControllers,所以我想隐藏其中一个navigationBars。

我通过使我的ApplicationDelegate成为UINavigationControllerDelegate:

来做到这一点
  [[tabBarController moreNavigationController] setDelegate:[UIApplication sharedApplication].delegate];

并实施:

(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
   navigationController.navigationController.navigationBarHidden = YES;
}

但是,最终我的状态栏重叠:

overlapped

现在,如果我添加一些代码来手动修复框架,状态栏上仍然会有一些奇怪的颜色叠加,现在导航栏下方有一个黑色间隙。是什么给了什么?

still wrong

0 个答案:

没有答案