Ben*_* Lu 6 uisearchbar ios uisearchcontroller ios11
将状态栏设置为隐藏时
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
并使用初始化普通 searchController
let searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
Run Code Online (Sandbox Code Playgroud)
如果未经编辑,它似乎正常,但是如果您单击搜索栏,导航标题将隐藏,搜索栏和顶部边缘之间几乎没有填充,这在视觉上非常破碎.
解决方案表示赞赏
这是 iOS 11 中的一个错误。要解决此问题,请将以下行添加到您的代码中:
searchController.hidesNavigationBarDuringPresentation = false
self.definesPresentationContext = true
Run Code Online (Sandbox Code Playgroud)
另一种方法是继续以旧方式执行此操作,例如,将搜索控制器的搜索栏设置为导航项的titleView。这在 iOS 11 中仍然可以正常工作。
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |