Objective c 隐藏导航栏
我有三种观点。(说第一、第二、第三)。我在1号推送了第二个视图(它有一个加载视图方法)。在第二个视图中,我使用Objective c 隐藏导航栏,objective-c,ios,uinavigationcontroller,Objective C,Ios,Uinavigationcontroller,我有三种观点。(说第一、第二、第三)。我在1号推送了第二个视图(它有一个加载视图方法)。在第二个视图中,我使用initWithFrame(从UIWebView继承)创建了第三个视图。在第二个视图中,我写了self.view=3rd视图 现在,我想在第三视图中隐藏第二视图的导航栏(即,当用户触摸第三视图屏幕时,即UIWebView)。我用手势获得了触摸识别,但我无法隐藏导航栏 第三视图不支持self.navigationController。如果我在第三个视图中创建第二个视图的对象,它不会隐藏导航
initWithFrame
(从UIWebView继承)创建了第三个视图。在第二个视图中,我写了self.view=3rd视图
现在,我想在第三视图中隐藏第二视图的导航栏(即,当用户触摸第三视图屏幕时,即UIWebView)。我用手势获得了触摸识别,但我无法隐藏导航栏
第三视图不支持self.navigationController
。如果我在第三个视图中创建第二个视图的对象,它不会隐藏导航栏。有人能帮我吗?执行以下操作:
[self.navigationController setNavigationBarHidden:YES animated:YES];
在指定第三个视图之前。这就是self.view=3rd view确定。因此,在为该选项卡创建导航控制器之后,需要将导航栏设置为隐藏。您无法在按下视图控制器后调整此设置(据我所知) 如果希望第一个视图的顶部没有导航栏,请在最初声明导航控制器的appDelegate中使用:
localNavigationController = [[UINavigationController alloc] initWithRootViewController:theViewController];
[localNavigationController setNavigationBarHidden:YES animated:YES];
如果希望隐藏之后的视图,则后续视图需要一个viewController,并且必须添加
[[self navigationController] setNavigationBarHidden:YES animated:YES];
在你叫它之前:
[[self navigationController] pushViewController:theThirdViewController animated:YES];
希望这有帮助。请注意,必须将代码添加到viewWillExample方法中
-(void) viewWillAppear:(BOOL)animated
{
self.navigationController.navigationBar.hidden = YES;
}
谢谢你,斯苏。。。但是你的ans不起作用。。使用上面的行,导航栏被隐藏,但我的问题不是。。当用户点击webView(第三视图)时,我想显示和隐藏第二视图的导航栏。。。如果我使用上面提到的行u,Bar会被隐藏,但我无法在用户手指触摸webView时再次显示它。
[self.navigationController setNavigationBarHidden:NO动画:YES]代码>在第三视图中使用此选项。但第三视图中没有navigationController。。我无法在第三视图中写入[self.navigationController…”。然后编写此[self.navigationController setNavigationBarHidden:否动画:是]代码>第二视图中的代码委托ViewDidEnglish:或者ViewWillEnglish方法“3个视图”应该是“3个视图控制器”,对吗?您绝对不应该在viewDidLoad
中访问self.navigationController
。通常,最好解释一个解决方案,而不是仅仅发布几行匿名代码。你可以阅读,还有@AnhPham我为我的错误道歉。我只是想帮你,我会照顾你的。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[[self navigationController] setNavigationBarHidden:YES animated:YES];
//[self dismissViewControllerAnimated:YES completion:NULL];
}