所以我刚刚更新到 iOS 11.2,现在我的 UISearchController
的搜索栏搞砸了。当搜索处于事件状态时,搜索栏区域后面的背景变得不可见/清晰/透明。
我建立了一个测试项目,以确保我没有疯。这是原始设置:
navigationBar.translucent = YES;
navigationBar.barTintColor = [UIColor orangeColor];
self.navigationItem.searchController = myUISearchController;
以下是它的显示方式:
但是如果我使用大标题和背景图片,那么结果是这样的:
navigationBar.prefersLargeTitles = YES;
[navigationBar setBackgroundImage:bgImage forBarMetrics:UIBarMetricsDefault];
如果有人找到了解决方案,我将非常感谢您的帮助。
✌️
最佳答案
除了仅仅依靠背景图像或大标题之外,这是我想出的唯一解决方案。
在搜索出现之前禁用大标题,并在搜索消失时再次启用它。有点糟糕,但似乎可以解决问题。
self.navigationItem.searchController.delegate = self;
...
- (void)willPresentSearchController:(UISearchController *)searchController {
self.navigationController.navigationBar.prefersLargeTitles = NO;
}
- (void)willDismissSearchController:(UISearchController *)searchController {
self.navigationController.navigationBar.prefersLargeTitles = YES;
}
关于iOS 11.2 - 在带有大标题的导航栏中时,搜索 Controller 栏背景清晰,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47719241/