iOS - 无法在第一页隐藏导航栏

iOS - Cannot hide navigation bar on first page

像这样在 Tab Bar Controller 之后有一个 Navigation Controller

我想隐藏第一页的导航栏,但是打开应用还是不隐藏

我做了以下事情:

  1. 在导航控制器上取消选中 "Shows Navigation Bar"
  2. 在第一页"viewWillAppear"下添加这段代码ViewController:

[[self navigationController] setNavigationBarHidden:YES animated:YES];

当我单击“后退”按钮时,它会显示我的闪屏页面,如果我继续下一步,它会转到第一页,但导航栏是隐藏的。

这是我打开应用时的页面

这是我单击后退并转到同一页面的时间

你知道我错过了什么让导航栏从一开始就隐藏起来吗

你可以这样做。

localNavigationController = [[UINavigationController alloc] initWithRootViewController:theViewController];
[localNavigationController setNavigationBarHidden:YES animated:YES];

首先,我会去解决你的problem.And然后我会说一下UINavigationController。

所以你使用SB在Main.storyboard中创建一些viewControllers。这些viewControllers必须继承UITabBarController、UINavigationController或ViewController。 我看你截图是对的,不然你截图不清楚

如果你想编辑或布局视图,你需要创建ViewController并将这个ViewController与Main.storyBoard匹配。我会测试这些operation.you将可以这个。

然后这些 ViewController 继承匹配 ViewController.

HomeTabBarViewController

FirstViewController

SecondViewController

上面说的很清楚了。如果你想在第一页隐藏navigationBar,你必须在FirstViewController中手写代码。并且你在viewWillAppear:

中操作
self.navigationController.navigationBar.hidden = YES;

就这些了。

如果你在HomeTabBar中手写代码隐藏navigationBarViewController继承UITabBarController,因为navigationController是下一个ViewController在隐藏代码中不起作用

所以UINavigationController有自动创建导航bar.You想不显示这个导航栏在viewWillAppear中使用隐藏导航栏。而且你想隐藏这个页面和下一页显示,你可以viewWillAppear 隐藏,viewWillDisAppear 显示。

希望能帮到您解决问题。