是否有一种简单的方法可以仅在 UICollectionViewFlowLayout 中重新加载补充视图?我不想重新加载整个事情。有可能这样做吗?
问问题
19701 次
2 回答
27
查看文档后,我不确定是否要重新加载单个补充视图,但您可以使用reloadSections:
更新 UICollectionView 中的 1 个或多个部分。(文档) 因此,当节标题需要更新时,您可以调用:
目标-C:
[self.collectionView reloadSections:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 3)]];
迅速:
self.collectionView?.reloadSections(IndexSet(0 ..< 3))
恰好调用:
- (UICollectionReusableView *)collectionView: (UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
//Place logic for handling update here...
}
于 2013-01-12T05:01:37.747 回答
14
如果您想从控制器更改补充视图的布局或大小,请使用[self.collectionView.collectionViewLayout invalidateLayout]
。如果您只想刷新补充视图,请使用。[supplementaryView setNeedsDisplay]
如果补充视图很复杂和/或将更改其尺寸,请使用两者。
于 2013-10-25T03:01:08.613 回答