gpt4 book ai didi

iphone - 防止 UISearchDisplayController 隐藏导航栏

转载 作者:行者123 更新时间:2023-12-03 18:09:25 28 4
gpt4 key购买 nike

每当用户开始编辑 UISearchDisplayController 的搜索栏时,搜索 Controller 就会变为事件状态,并在显示搜索 TableView 时隐藏 View 的导航栏。是否可以防止 UISearchDisplayController 隐藏导航栏而不重新实现它?

最佳答案

我刚刚对 UISearchDisplayController 进行了一些调试,发现它正在调用 UINavigationController 上的私有(private)方法来隐藏导航栏。这发生在 -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 上进行了测试。

关于iphone - 防止 UISearchDisplayController 隐藏导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2813118/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com