【问题标题】:UIView hidden by USearchControllerUSearchController 隐藏的 UIView
【发布时间】:2020-02-01 16:21:27
【问题描述】:

我在大标题样式中使用 UISearchController。但是当我推送到下一个视图控制器并再次回到同一个控制器时,我的 UIView 会被导航栏隐藏。

观看视频 https://drive.google.com/open?id=1tb5Eeni-79uomBGl1GPEcESDSYOfrZ7v

【问题讨论】:

  • 我遇到了同样的问题,你解决了吗?

标签: ios swift iphone navigationbar uisearchcontroller


【解决方案1】:

我无法重现您的错误,但我会发布我的测试代码,因为它可以帮助您。

我建议您在 BaseViewController: UIViewController 中编写此代码并在您的 ViewControllers 中扩展它以定义大标题:

 self.navigationController?.navigationBar.prefersLargeTitles = true

定义您的 UISearchController 并设置您的 Instance

var resultSearchController: UISearchController!

resultSearchController = UISearchController(searchResultsController: nil)
resultSearchController.searchResultsUpdater = self
tableView.tableHeaderView = resultSearchController.searchBar

最后您可以尝试在屏幕消失时关闭搜索键盘,如下所示:

override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
    resultSearchController.searchBar.endEditing(true)
}

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    在 viewwillappear 中添加以下行可以解决我的问题

    extendedLayoutIncludesOpaqueBars = true
    

    【讨论】:

      猜你喜欢
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      相关资源
      最近更新 更多