USearchController 隐藏的 UIView

Posted

技术标签:

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

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

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

【问题讨论】:

我遇到了同样的问题,你解决了吗? 【参考方案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

【讨论】:

以上是关于USearchController 隐藏的 UIView的主要内容,如果未能解决你的问题,请参考以下文章

Swift:向WKWebView注入JS和CSS不起作用

持久抽屉不适用于 material-ui v5

Material-UI v3:如何使用 TouchRipple 组件?

酶不模拟 React Material-UI v1 上的更改事件 - 选择组件

Material-UI v5 对话框退出淡入淡出动画不适用于 React Router

如何在 Material-UI V5 (@mui/lab) datepicker 组件上设置一个空标签?