UISearchController 搜索栏在出现时向下移动
Posted
技术标签:
【中文标题】UISearchController 搜索栏在出现时向下移动【英文标题】:UISearchController search bar shifting down when presented 【发布时间】:2016-01-27 10:48:11 【问题描述】:问题:搜索栏出现时会向下移动。在呈现之前,该栏位于导航栏的正下方。
更多信息:
导航栏只是一个 UINavigationBar,通过 storyboard 手动添加到 UIViewController 中 最重要的是,UIViewController 使用 UIPresentationController 来创建呈现的 VC 从顶部略微偏移的效果,并且呈现的 VC 被缩小并“落后于”呈现的 VC。如果我不使用 UIPresentationController,则不会发生这种转变。searchController.hidesNavigationBarDuringPresentation = NO
有什么想法吗?
【问题讨论】:
【参考方案1】:self.definesPresentationContext = YES; 或者 self.edgesForExtendedLayout = UIRectEdgeNone;
另一方面,最好将搜索栏添加到表格视图的标题中。
【讨论】:
试过了,还是不行。搜索栏当前是 tableview 的标题。谢谢。【参考方案2】:if #available(ios 11.0, *)
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false
else
tableView.tableHeaderView = searchController.searchBar
如果在iOS 11.0下将searchBar设置为tableHeaderView会出现这个问题,所以可以这样操作。一切都会好起来的!
【讨论】:
以上是关于UISearchController 搜索栏在出现时向下移动的主要内容,如果未能解决你的问题,请参考以下文章