【发布时间】:2013-09-03 22:23:29
【问题描述】:
我有一个标准的 FlowLayout UICollectionView(垂直滚动、单节、固定大小的项目,但列数可变(例如,iphone 横向 2 v 水平 v 1 水平 v 3 或 ipad 上 4)。我使用的是 NSFetchedResultsController管理从 Core Data 显示的项目。
我在页脚补充中有一个添加按钮来添加新项目。当用户按下“添加”按钮时,我自然想添加一个项目,但我希望“添加”按钮保留在屏幕上(必要时向上滚动),以便他们可以轻松地再次按下它。
我目前正在检查 addItem 例程:
UICollectionViewLayoutAttributes * footerInfo = [self.collectionView layoutAttributesForSupplementaryElementOfKind:UICollectionElementKindSectionFooter atIndexPath:[NSIndexPath indexPathForRow:0 inSection:0 ]];
[self.collectionView scrollRectToVisible:footerInfo.frame animated:YES];
这很好用,除了当 FRC 在下一个运行循环中添加项目时,collectionView 然后再次将页脚向下移动到屏幕外。
我不能只为框架添加额外的行高,原因有两个:首先,扩展的矩形还没有在 controllerView 上,其次:如果它不是新行,我不需要那个空间它会不必要地反弹。
我想我可以在插入完成后为将来的时间/运行循环安排滚动检查,但我希望可能有更干净的东西。
【问题讨论】:
标签: ios uicollectionview