隐藏导航栏

Kul*_*dip 18 objective-c uinavigationcontroller ios

我有3个看法.(比如说第1,第2,第3).我已经在第一个推送第二个视图(有一个加载视图方法).在第二个视图中,我创建了第三个使用initWithFrame(继承自UIWebView).在第二个视图中,我写了self.view = 3rd view.

现在我想在第三个视图中隐藏第二个视图的导航栏(即,当用户触摸第三个视图屏幕即UIWebView时).我使用手势进行了触摸识别,但我无法隐藏导航栏.

第3视图不支持self.navigationController.如果我在3rd中创建第二个视图的对象,它不会隐藏导航栏.有谁能够帮我?

Nab*_*bou 33

好.因此,您需要在为该选项卡创建导航控制器后立即隐藏导航栏.按下视图控制器后,您无法调整此值(据我所知).

如果您希望第一个视图顶部没有导航栏,请在最初声明导航控制器的appDelegate中使用此选项:

localNavigationController = [[UINavigationController alloc] initWithRootViewController:theViewController];
[localNavigationController setNavigationBarHidden:YES animated:YES];
Run Code Online (Sandbox Code Playgroud)

如果您希望隐藏之后的视图,那么您需要一个viewController用于后续视图,您必须添加

[[self navigationController] setNavigationBarHidden:YES animated:YES];
Run Code Online (Sandbox Code Playgroud)

就在你打电话之前:

[[self navigationController] pushViewController:theThirdViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


小智 17

实现这个:

[self.navigationController setNavigationBarHidden:YES animated:YES];
Run Code Online (Sandbox Code Playgroud)

在分配第3个视图之前.这是self.view =第3个视图