【问题标题】:Moving in UINavigationController to controller without NavigationBar在 UINavigationController 中移动到没有 NavigationBar 的控制器
【发布时间】:2013-08-30 08:27:16
【问题描述】:

在我的 iOS 应用程序中,我得到了两个 UIViewControllers。我使用 UINavigationController 从一个移动到另一个。但是第一个使用 UINavigationBar,第二个我输入 viewDidLoad:

self.navigationController.navigationBarHidden = NO;

然后,当我打开它时 - 在第一个控制器上,顶部出现大黑线。您可以在图片的左上角看到它:

没有这条黑线怎么打开。

【问题讨论】:

  • 在你的第一个视图控制器 viewWillAppear 方法中你必须添加这行代码 self.navigationController.navigationBarHidden = YES;
  • 在每个视图控制器中你必须编写这段代码 self.navigationController.navigationBarHidden = YES

标签: ios objective-c uinavigationcontroller uinavigationbar pushviewcontroller


【解决方案1】:

作为变体,您可以在 ViewController 的 viewDidLoad 方法的顶部添加视图:

UIView *magicView = ...;

[self.navigationController.topViewController.view addSubview:magicView];

所以 in 将在 self.view 的顶部上方。

但是您应该将所有逻辑从 self.view 更改为 magicView(所有子视图、所有回调等)

【讨论】:

    【解决方案2】:

    在您的第一个视图控制器 viewWillAppear 方法中,您必须添加这行代码

    self.navigationController.navigationBarHidden = YES;

    将此代码放在您不想显示的位置 UINavigationController

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      相关资源
      最近更新 更多