Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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_Uinavigationcontroller_Uinavigationbar_Uisearchdisplaycontroller - Fatal编程技术网

Iphone 搜索显示控制器如何隐藏导航栏?

Iphone 搜索显示控制器如何隐藏导航栏?,iphone,uinavigationcontroller,uinavigationbar,uisearchdisplaycontroller,Iphone,Uinavigationcontroller,Uinavigationbar,Uisearchdisplaycontroller,当您进入由搜索显示控制器处理的搜索栏时,它会向上滑动视图并将导航栏推上。这很容易做到,但是,当您单击搜索结果并在导航控制器的堆栈上推送一个新视图时,导航栏会随着视图从右侧滑入 这是怎么做到的?如果您只需将导航栏设置为“隐藏”或“显示”,它会立即发生。我搞不懂它是如何被隐藏的,只是为了堆栈中的一个视图控制器 非常感谢, Michael您可以为导航栏的过渡设置动画。有关更多详细信息,请参阅 如果需要基于每个视图控制器执行此操作,只需覆盖视图控制器的-viewdide:和-viewdire:方法,例如

当您进入由搜索显示控制器处理的搜索栏时,它会向上滑动视图并将导航栏推上。这很容易做到,但是,当您单击搜索结果并在导航控制器的堆栈上推送一个新视图时,导航栏会随着视图从右侧滑入

这是怎么做到的?如果您只需将导航栏设置为“隐藏”或“显示”,它会立即发生。我搞不懂它是如何被隐藏的,只是为了堆栈中的一个视图控制器

非常感谢,


Michael

您可以为导航栏的过渡设置动画。有关更多详细信息,请参阅

如果需要基于每个视图控制器执行此操作,只需覆盖视图控制器的
-viewdide:
-viewdire:
方法,例如:

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

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}
当将此视图控制器推到导航堆栈顶部时,上面的命令将隐藏导航栏,当视图控制器弹出时,将显示导航栏

您可以随时调用
-setNavigationBarHidden:animated:
,但这两种方法对于应用大量UI更改非常有用

-(void)viewDidLayoutSubviews{
    [self.navigationController setNavigationBarHidden:NO animated:NO];
}

它不会隐藏导航栏。

是的,但从那时起将隐藏导航栏,当您按下另一个视图控制器时,它仍将隐藏。即使在按下新控制器时显示导航栏,也会看到导航显示在以前的控制器上。这是因为导航栏是导航控制器堆栈上所有控制器的相同栏。因此,对于搜索显示控制器是如何工作的,我们感到困惑!见编辑后的答案。当视图控制器被按下/弹出时,您可以设置导航栏的动画。啊,不可能!天才!我不知道在视图中放置显示/隐藏代码会对导航栏的显示方式产生任何影响!非常感谢,这一次我被难倒了好几个小时!