首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏导航栏

隐藏导航栏
EN

Stack Overflow用户
提问于 2011-07-01 15:34:53
回答 4查看 52.6K关注 0票数 18

我有3个视图。(比如1、2、3)。我在1号推送了第二个视图(它有一个load视图方法)。在第二个视图中,我使用initWithFrame (继承自UIWebView)创建了第三个视图。在第二个视图中,我编写了self.view=3rd视图。

现在我想在第三个视图中隐藏第二个视图的导航栏(例如,当用户触摸到第三个视图屏幕时,即UIWebView)。我使用手势获得了触摸识别功能,但我无法隐藏导航栏。

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

EN

回答 4

Stack Overflow用户

发布于 2011-09-03 02:28:36

好的。因此,您需要在为该选项卡创建导航控制器后立即将导航栏设置为隐藏。在你推入视图控制器之后,你不能再调整它(据我所知)。

如果您希望第一个视图的顶部没有导航栏,则在最初声明导航控制器的appDelegate中使用以下内容:

代码语言:javascript
复制
localNavigationController = [[UINavigationController alloc] initWithRootViewController:theViewController];
[localNavigationController setNavigationBarHidden:YES animated:YES];

如果您希望隐藏之后的视图,则需要为后续视图添加一个viewController,并且必须添加

代码语言:javascript
复制
[[self navigationController] setNavigationBarHidden:YES animated:YES];

就在你调用这个之前:

代码语言:javascript
复制
[[self navigationController] pushViewController:theThirdViewController animated:YES];

希望这能有所帮助。

票数 34
EN

Stack Overflow用户

发布于 2011-07-14 21:12:59

实现这一点:

代码语言:javascript
复制
[self.navigationController setNavigationBarHidden:YES animated:YES];

在指定第三个视图之前。即self.view =第3视图

票数 18
EN

Stack Overflow用户

发布于 2018-04-08 00:57:19

请注意,必须将代码添加到viewWillAppear方法中

代码语言:javascript
复制
-(void) viewWillAppear:(BOOL)animated
{
      self.navigationController.navigationBar.hidden = YES;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6544966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档