我将UISearchController实现为iOS 11中导航项的一部分。这通常可以正常工作。但是我需要知道什么时候通过滚动自动显示或隐藏searchBar。 UISearchController或UISearchBar中的任何委托方法都不提供此信息。只有当searchBar获得焦点(第一响应者)时,UISearchController中的isActive属性才为真。
我发现的唯一方法是在高度搜索栏框架上使用KVO,但对于类似的东西,接缝相当极端。
与我的要求相关的还有以编程方式隐藏searchBar的能力(就像用户向上滚动一样)。我发现这样做的唯一方法是将导航项的UISearchController属性设置为nil,但这似乎也相当极端。
感谢。