使用 SearchController 推送 ViewController 在搜索栏下显示黑色矩形
Posted
技术标签:
【中文标题】使用 SearchController 推送 ViewController 在搜索栏下显示黑色矩形【英文标题】:Pushing ViewController with SearchController showing black rectangle under Search Bar 【发布时间】:2018-07-13 10:59:14 【问题描述】:当我将另一个控制器推入堆栈时(当有一个搜索控制器时)我在搜索栏下方看到一个黑色块。我已将以下所有内容的背景颜色设置为白色;
搜索控制器 搜索栏 当前风投 下一个风投返回堆栈时也会出现。
搜索控制器
func setUpSearchController()
searchController.delegate = self
searchController.view.backgroundColor = .white
searchController.searchBar.backgroundColor = .white
searchController = UISearchController(searchResultsController: nil)
searchController.hidesNavigationBarDuringPresentation = true
searchController.dimsBackgroundDuringPresentation = true
searchController.searchBar.sizeToFit()
searchController.searchBar.backgroundColor = .white
searchController.searchBar.barTintColor = .white
searchController.searchBar.placeholder = "Search"
searchController.searchBar.searchBarStyle = .minimal
searchController.searchBar.tintColor = Colours.brandGreen
definesPresentationContext = true
if #available(ios 11.0, *)
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true
else
messagesTableView.tableHeaderView = searchController.searchBar
是否选择了单元格
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let chatController = ChatController()
let message = messages[indexPath.row]
chatController.title = message
self.navigationController?.pushViewController(chatController, animated: true)
一如既往地非常感谢任何帮助。
【问题讨论】:
【参考方案1】:在这里找到答案: https://blog.kulman.sk/fixing-black-artifact-changing-large-tiles-mode/
代码
guard let navigationController = navigationController else return
navigationController.view.backgroundColor = .white
正如上面的链接所解释的,这不能全局设置,因此,需要在我将使用的每个 NC 上。
【讨论】:
以上是关于使用 SearchController 推送 ViewController 在搜索栏下显示黑色矩形的主要内容,如果未能解决你的问题,请参考以下文章
使用 SearchController 后的 DidSelect 导致快速崩溃
使用 SearchController 搜索时使用标签栏出现黑屏