小编pep*_*ppy的帖子

在UISearchDisplayController选择之后保持UINavigationController的navigationBar隐藏

我有UISearchDisplayController一个设置UITableViewController其嵌套在一个UINavigationController.当选择单元格时,UITableView's didSelectRowAtIndexPath触发方法,将新视图推送到父导航控制器.此新视图应在导入栏中隐藏导航栏.

[[self navigationController] setNavigationBarHidden:YES animated:NO];
Run Code Online (Sandbox Code Playgroud)

我在didSelectRowAtIndexPath方法中使用此行来隐藏导航栏.如果选择的行不使用搜索控制器,但在选择搜索结果时被覆盖,则此方法可以正常工作.似乎在UISearchDisplayController选择行之后的某个时候取消隐藏navigationBar是正确的.

如果我将setNavigationBarHidden调用移动到目标视图的viewWillAppear方法中,结果是类似的.我可以通过将隐藏调用置于其中来使其工作viewDidAppear,但这会产生一种非常尴尬的过渡效果,这种效果会让人觉得有些不合时宜.我想在新视图滑到屏幕之前使navigationBar已经隐藏.

有谁知道导航栏的取消隐藏在哪里,和/或我可以覆盖此行为的任何方式?

iphone iphone-sdk-3.0 uisearchdisplaycontroller

16
推荐指数
2
解决办法
7885
查看次数