我有一个带有页眉、一些单元格和页脚补充视图的UICollectionView。标头包含一个UISearchBar。如果我在搜索字段中键入某些内容,键盘会在第一个字母之后自动退出。我认为这是由我的-searchBar:textDidChange:引起的,它包含刷新集合视图的代码(通过-reloadData,因为这是我知道的唯一可行的方法)。
我的理论是,重新加载UICollectionView会使它成为第一个响应者,但不知何故,它不起作用。
每次键盘关闭时,我的输出中都有这一行:
setting the first responder view of the collection view bu
Problem:在从网络服务检索结果之前,不会显示CollectionView页眉和页脚。它们是在从服务中检索项目之后显示的。
我想要的结果::在从api调用检索项之前显示CollectionView页眉和页脚
我尝试过的:使用不同的数据源,在初始viewDidLoad上使用页眉和页脚,并在加载结果时将数据源设置为零。不起作用
My (不太优雅)解决方案:在viewDidLoad上添加headerView和footerView子视图,当结果来自服务时用collectionView替换它们。
itemsLoading.drive(onNext: { loading in
if loading
因此,这是我们在UICollectionViewFlowLayout on iOS 10上发现的一个有趣的问题(在11上仍然是一个问题),以及使用UICollectionViewFlowLayoutAutomaticSize来实现estimatedItemSize。
我们发现,使用UICollectionViewFlowLayoutAutomaticSize作为estimatedItemSize会使页脚补充视图浮动在底部的几个单元格之上。(红色/粉色是页眉,绿色是页脚。)
这里是一个示例应用程序的VC代码:
import UIKit
class ViewController: U