每当用户开始编辑UISearchDisplayController
的搜索栏,搜索控制器将变为活动状态,并在显示搜索表视图时隐藏视图的导航栏。是否可以预防UISearchDisplayController
隐藏导航栏而不重新实现它?
我刚刚对 UISearchDisplayController 进行了一些调试,发现它正在调用 UINavigationController 上的私有方法来隐藏导航栏。这发生在 -setActive:animated: 中。如果您继承 UISearchDisplayController 并使用以下代码覆盖此方法,您可以通过假装导航栏已隐藏来防止导航栏被隐藏。
- (void)setActive:(BOOL)visible animated:(BOOL)animated;
{
if(self.active == visible) return;
[self.searchContentsController.navigationController setNavigationBarHidden:YES animated:NO];
[super setActive:visible animated:animated];
[self.searchContentsController.navigationController setNavigationBarHidden:NO animated:NO];
if (visible) {
[self.searchBar becomeFirstResponder];
} else {
[self.searchBar resignFirstResponder];
}
}
让我知道这是否适合您。我也希望这不会在未来的 iOS 版本中出现问题...仅在 iOS 4.0 上进行了测试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)