UISearchController – 搜索文本清除图标不会完全隐藏

我在视图控制器的viewDidLoad()中设置了searchController,如下所示。 一个VC嵌入了表视图,另一个是UITableViewController。

我正在使用另一个VC来允许用户选择一个值并使用它来使用unwind segue过滤表项。

self.searchController.obscuresBackgroundDuringPresentation = false self.searchController.hidesNavigationBarDuringPresentation = true if #available(iOS 11.0, *) { self.searchController.searchBar.delegate = self self.navigationItem.searchController = self.searchController self.navigationController?.navigationBar.prefersLargeTitles = true self.searchController.searchBar.scopeButtonTitles = ["All", "<= 2", "<= 5", "<= 10"] self.navigationItem.hidesSearchBarWhenScrolling = true } 

我在展开方法中执行以下操作。

 DispatchQueue.main.async { self.searchController.searchBar.text = searchText let scope = self.searchController.searchBar.scopeButtonTitles![self.searchController.searchBar.selectedScopeButtonIndex] self.filterContentForSearchText(searchText, scope: scope) } 

当加载带有数据的表时,搜索栏完全隐藏在导航栏下,但是当我为searchtext字段赋值而不从数据源中产生任何项时,搜索字段清除图标显示如下。

我正在使用DZNEmptyDataSet框架来处理空视图。 早些时候我已经从IB配置了搜索栏,而下面的问题没有来。 当时也在使用DZNEmptyDataSet。

在此处输入图像描述

可能是什么问题?

Xcode 9.3在11.3模拟器和8 Plus中进行测试。

谢谢Ashish