检测UISearchController何时出现在iOS 11中的导航项中

时间:2018-01-03 03:52:17

标签: ios uisearchcontroller

我将UISearchController实现为iOS 11中导航项的一部分。这通常可以正常工作。但是我需要知道什么时候通过滚动自动显示或隐藏searchBar。 UISearchController或UISearchBar中的任何委托方法都不提供此信息。只有当searchBar获得焦点(第一响应者)时,UISearchController中的isActive属性才为真。

我发现的唯一方法是在高度搜索栏框架上使用KVO,但对于类似的东西,接缝相当极端。

与我的要求相关的还有以编程方式隐藏searchBar的能力(就像用户向上滚动一样)。我发现这样做的唯一方法是将导航项的UISearchController属性设置为nil,但这似乎也相当极端。

感谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在单元格顶部的滚动视图(表格视图)中添加searchBar

enter image description here

您可以使用偏移值识别显示或隐藏的searchBar。这不是完美的方式,但它有助于满足您的需求。