我正面临一个问题,我想要实现一个基本上从中心建立的UICollectionView
。
假设我有这个显示人员列表的视图:
当用户继续使用 + 添加多个人时,我希望CollectionView展开但保持在视图的中心:
我如何实现这种行为?
答案 0 :(得分:0)
如果您没有使用autolayout和size类,那么您可以设置" center"是这样的集合视图...
[collectionView setCenter:self.view.center];
如果启用了autolayout并且您正在使用它,那么请执行此操作...
答案 1 :(得分:0)
替代自定义流程布局,替代方法是将正常高度集合视图设置为正常,然后设置顶部和底部插入以使单元格在视觉上居中:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
let inset = (collectionView.frame.size.height - ((COUNT_OF_CELLS / CELLS_PER_ROW) * HEIGHT_OF_CELL) / 2)
return UIEdgeInsetsMake(inset, 0, inset, 0);
}
您需要跟踪单元格总数,行上单元格数以及单元格高度,以便计算正常工作。