输入搜索时 UINavigationBar 变暗

Posted

技术标签:

【中文标题】输入搜索时 UINavigationBar 变暗【英文标题】:UINavigationBar dims down when entering search 【发布时间】:2018-02-25 18:59:40 【问题描述】:

我制作了一个包含在导航控制器中的空视图控制器,并使用navigationItem.searchController 添加了一个搜索栏。奇怪的是,当点击搜索栏时,动画效果很好,但导航栏随着整个屏幕变暗。

这不是它在设置和其他地方的工作方式,即导航栏的颜色应该保持不变。

有什么想法吗?

一些代码:

- (void)viewDidLoad 
    [super viewDidLoad];
    UISearchController* searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
    searchController.searchResultsUpdater = self;
    self.navigationItem.searchController = searchController;
    ...

【问题讨论】:

【参考方案1】:

只需将dimsBackgroundDuringPresentationobscuresBackgroundDuringPresentation 设置为NO

【讨论】:

【参考方案2】:

在你的 viewDidLoad 方法中,添加:

self.definesPresentationContext = YES;

【讨论】:

以上是关于输入搜索时 UINavigationBar 变暗的主要内容,如果未能解决你的问题,请参考以下文章

带有搜索图标的 UINavigationBar - 单击时推送模态搜索视图

UINavigationBar 在解除 UISearchController 时覆盖 UITableView

UINavigationbar 将在 UISearchbar 结束搜索后显示,我如何隐藏导航栏

UINavigationBar变成白色,在iOS 13中使用navigationItem.searchController时不会关闭

当方向从横向更改为纵向时,UInavigationbar 背景图像无法正确调整大小

如何在 UINavigationBar 上添加 UISearchBar 动画