Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 隐藏导航栏_Objective C_Ios_Uinavigationcontroller - Fatal编程技术网

Objective c 隐藏导航栏

Objective c 隐藏导航栏,objective-c,ios,uinavigationcontroller,Objective C,Ios,Uinavigationcontroller,我有三种观点。(说第一、第二、第三)。我在1号推送了第二个视图(它有一个加载视图方法)。在第二个视图中,我使用initWithFrame(从UIWebView继承)创建了第三个视图。在第二个视图中,我写了self.view=3rd视图 现在,我想在第三视图中隐藏第二视图的导航栏(即,当用户触摸第三视图屏幕时,即UIWebView)。我用手势获得了触摸识别,但我无法隐藏导航栏 第三视图不支持self.navigationController。如果我在第三个视图中创建第二个视图的对象,它不会隐藏导航

我有三种观点。(说第一、第二、第三)。我在1号推送了第二个视图(它有一个加载视图方法)。在第二个视图中,我使用
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];
}