【发布时间】:2016-08-29 06:10:39
【问题描述】:
UISearchController 与 UITabBarController 结合使用时出现问题。我有 3 个标签。在每个选项卡中,我都有一个 UITableViewController 和一个来自 UISearchController 的搜索栏设置为表视图的标题视图,如下所示。
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = true
tableView.tableHeaderView = searchController.searchBar
tableView.contentOffset = CGPointMake(0, CGRectGetHeight(searchController.searchBar.frame))
如果我开始搜索并切换到另一个选项卡而不取消搜索,然后返回到上一个选项卡,则 UITableView 的内容变为黑色。我已经阅读了多个帖子,例如UISearchController makes the controller black 或UISearchController causes black screen Swift 2.0。但是这些解决方案对我不起作用。如果我在设置
definesPresentationContext = true
那么问题首先出现。如果我省略这一行,那么表格视图的内容不会变黑,但搜索栏在下一个选项卡上的搜索状态下保持激活状态。我也尝试将 searchResultsController 设置为另一个 UITableViewController 但它也没有解决问题。
【问题讨论】:
-
您是否尝试过在用户移动到另一个选项卡时以编程方式取消搜索?
标签: ios swift uitableview uisearchbar uisearchcontroller