问题描述
自定义UIViewController
包含一个UICollectionView
。 UISearchBar
应该放在collectionView的最上方,并滚动其内容。如果用户在内容中输入搜索文本,则应该在collectionBar保持其FirstResponder状态的同时更新collectionView。
似乎很容易实现的事情。
我发现了其他几个与这类问题有关的主题,但是它们都已经存在了好几年了,并且所提出的解决方案都无效。 我想知道在2020年使用Xcode 11和iOS 13来解决此问题的最佳解决方案是什么。
哪些DID不起作用:
- 我已将
UISearchBar
添加到第一部分的标题中。重新加载完整的contentView或其部分时,searchBar会松开firstResponder并关闭键盘。 - 我已将
UISearchBar
作为子视图添加到collectionView,并使用collectionViews contentOffset将内容放置在搜索栏下方。尽管searchBar是collectionVies动态视图层次结构的一部分,但问题与以前相同:重新加载完整的contentView或其部分时,searchBar会首先松开firstResponder并关闭键盘。 - 我在collectionView中添加了一个extras部分,该部分仅显示其标头(包括searchBar)漫游器不包含内容。重新加载其他部分但保留此“搜索部分”时,将关闭键盘。
- 是否使用
collectionView.performBatchUpdates
都没有区别。 - 在collectionView或其部分起作用后,重置firstResponder Status。但是,在这种情况下,键盘将关闭并立即重新出现。这样无法进行快速键入,并且键盘的闪烁非常令人讨厌。
是否有已知的干净方法来解决此问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)