Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Iphone 当我导航回主视图时,导航栏可见_Iphone_Xcode_Uinavigationcontroller - Fatal编程技术网

Iphone 当我导航回主视图时,导航栏可见

Iphone 当我导航回主视图时,导航栏可见,iphone,xcode,uinavigationcontroller,Iphone,Xcode,Uinavigationcontroller,在我看来,我是在用这个 [self.navigationController设置NavigationBarHidden:是]; 它会在应用程序启动时隐藏,但当我导航到下一个屏幕并返回主视图时,它不会隐藏导航栏。。。 为什么会这样 我需要补充什么吗 这对我来说很有用: - (void) viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController set

在我看来,我是在用这个 [self.navigationController设置NavigationBarHidden:是]; 它会在应用程序启动时隐藏,但当我导航到下一个屏幕并返回主视图时,它不会隐藏导航栏。。。 为什么会这样

我需要补充什么吗

这对我来说很有用:

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];    
    [self.navigationController setNavigationBarHidden:YES animated:animated];
} 

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}
这样就不需要viewDidLoad中的那个了

如果更改后不清楚,您的原始代码不起作用的原因是视图可能会保留在内存中,即使它不在屏幕上-因此每次打开或关闭视图时都需要隐藏/显示导航栏。

这对我来说很有效:

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];    
    [self.navigationController setNavigationBarHidden:YES animated:animated];
} 

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}
这样就不需要viewDidLoad中的那个了


如果更改不清楚,则原始代码无法工作的原因是即使视图不在屏幕上,也可能会将其保留在内存中-因此每次打开或关闭视图时都需要隐藏/显示导航栏。

viewDidLoad仅在第一次加载视图时启动。每次都会触发视图。viewDidLoad仅在第一次加载视图时才会触发。视图每次都会出现火灾。

您缺少一些标记。让我们从以下内容开始:这是什么平台?您缺少一些标记。让我们从以下内容开始:这是什么平台?我想将背景图像添加到导航控制器根视图中,我正在使用self.view.backgroundColor=[uicolorWithPatternImage:[UIImage imageNamed:@“background.png”];它不起作用很高兴它起作用了!你应该问你的背景图像问题,作为一个新的问题,让更多的人看到它。k我会添加它,但当使用你的方法隐藏导航栏,它给我的空间来移动我的表视图向上,但我不想向上移动,我应该能够添加图像代替导航栏。。。谢谢你的帮助。提前..你能提供一个语法来添加图像来代替导航巴里吗?我想将背景图像添加到导航控制器根视图中我正在使用self.view.backgroundColor=[UIColor WithPatternImage:[UIImage imageNamed:@“background.png”];它不起作用很高兴它起作用了!你应该问你的背景图像问题,作为一个新的问题,让更多的人看到它。k我会添加它,但当使用你的方法隐藏导航栏,它给我的空间来移动我的表视图向上,但我不想向上移动,我应该能够添加图像代替导航栏。。。谢谢你的帮助。你能提供一个语法来代替导航栏添加图像吗