【发布时间】:2019-06-11 09:56:57
【问题描述】:
我尝试添加一个简单的搜索控制器,但每当我单击它以使其变为活动状态时,它就会跳出屏幕。为什么会发生这种情况?我检查了所有代码,我没有使用约束或任何东西进行操作。
我通过以下函数初始化我的搜索控制器(并在 ViewDidLoad 中调用它):
private func initSearchController() {
self.searchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.searchBar.delegate = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.searchBar.barStyle = UIBarStyle.black
controller.searchBar.barTintColor = UIColor.white
controller.searchBar.backgroundColor = UIColor.clear
self.tableView.tableHeaderView = controller.searchBar
return controller
})()
self.tableView.reloadData()
}
【问题讨论】:
-
你试过
self.searchController.hidesNavigationBarDuringPresentation = false -
实际上,我最终做到了。尽管如此,假设它并不令人满意,因为最初,我希望我的导航栏被搜索栏胜过。基本上是这样的:1)搜索栏变为活动状态2)导航栏隐藏自身3)搜索栏代替导航栏4)取消时一切都回到原位至少,我在大多数解决方案中都看到了这个动画,对我来说它是最好的
-
如果您觉得我的回答有用,请检查一下它是不是真的答案?
-
@matt 不,搜索控制器不应该突然消失
标签: ios swift uisearchcontroller