iOS 11.2 - 在带有大标题的导航栏中时,搜索控制器栏背景清晰
Posted
技术标签:
【中文标题】iOS 11.2 - 在带有大标题的导航栏中时,搜索控制器栏背景清晰【英文标题】:iOS 11.2 - Search Controller Bar background is clear when inside Navigation Bar with Large Title 【发布时间】:2017-12-08 17:18:03 【问题描述】:所以我刚刚更新到 ios 11.2,现在我的 UISearchController
的搜索栏搞砸了。当搜索处于活动状态时,搜索栏区域后面的背景变为不可见/清晰/透明。
我建立了一个测试项目来确保我没有发疯。这是原始设置:
navigationBar.translucent = YES;
navigationBar.barTintColor = [UIColor orangeColor];
self.navigationItem.searchController = myUISearchController;
如下所示:
但如果我使用大标题和背景图片,那么结果是这样的:
navigationBar.prefersLargeTitles = YES;
[navigationBar setBackgroundImage:bgImage forBarMetrics:UIBarMetricsDefault];
如果有人找到解决方案,我将非常感谢您的帮助。
✌️
【问题讨论】:
同样的事情发生在我身上。既然你已经做了一个测试项目,那就用它来填充雷达:) 【参考方案1】:除了放弃背景图片或大标题之外,这是我想出的唯一解决方案。
在搜索出现之前禁用大标题,并在它关闭时再次启用它。有点烂,但似乎可以解决问题。
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 - 在带有大标题的导航栏中时,搜索控制器栏背景清晰的主要内容,如果未能解决你的问题,请参考以下文章