如何解决点击搜索栏时的跳跃问题?
Posted
技术标签:
【中文标题】如何解决点击搜索栏时的跳跃问题?【英文标题】:How to fix jumping upon clicking search bar? 【发布时间】: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 不,搜索控制器不应该突然消失
【参考方案1】:
self.searchController.hidesNavigationBarDuringPresentation = false
【讨论】:
以上是关于如何解决点击搜索栏时的跳跃问题?的主要内容,如果未能解决你的问题,请参考以下文章
再次点击当前标签栏时如何在 UITableView 中滚动到顶部?
单击搜索栏时如何显示单独的视图? [SwiftUI] [关闭]
使用ios 8 UISearchController单击搜索栏时如何隐藏部分标题?