我有一个UITableViewController,其中UISearchDisplayController(和UISearchBar)包含在UINavigationController中作为根元素。是否可以对其进行配置,以使UISearchBar代替UINavigationBar出现?我不认为隐藏导航栏会起作用,下一屏(按下)要求它可见(这会产生奇怪的动画故障)。

我基本上是在寻找类似App Store搜索标签的屏幕。

我上传了一个样例屏幕快照:

最佳答案

将您自己指定为UINavigationController的委托并实现- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

然后使用传入的navigationController隐藏导航栏。
[navigationController setNavigationBarHidden:YES animated:animated]

编辑:仔细想想,最好将动画值也传递到-setNavigationBarHidden:animated:中。代码已更新。

09-25 23:59
查看更多