UICollectionViewCell 间距
Posted
技术标签:
【中文标题】UICollectionViewCell 间距【英文标题】:UICollectionViewCell spacing 【发布时间】:2013-12-13 17:30:13 【问题描述】:我有一个 UICollectionView,它在宽度上适合 3 个单元格(并垂直滚动)。当我改变设备的旋转时,集合视图会拉伸一点,单元格间距也会增加一点。然而,左边的单元格对齐到左边距,右边的单元格对齐到右边距,中间的单元格保持居中。
我希望两边都有一个边距,尺寸与单元格之间的距离相等,这样看起来间隔更小。
我尝试调用[collectionView setContentInset:UIEdgeInsetsMake(0, 10, 0, 10)];
,但这只是在视图中添加了一个水平滚动,而不是逼近单元格。
如何在不改变滚动视图大小的情况下添加边距?
【问题讨论】:
【参考方案1】:我想通了。我不得不添加这个委托方法:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
return UIInterfaceOrientationIsPortrait([self interfaceOrientation]) ? UIEdgeInsetsMake(0, 22, 0, 21) : UIEdgeInsetsMake(0, 0, 0, 0);
并刷新- willRotateToInterfaceOrientation:duration:
上的集合视图:
[[_collection collectionViewLayout] invalidateLayout];
[_collection reloadData];
【讨论】:
以上是关于UICollectionViewCell 间距的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionViewCell 间距以填充最大区域
以没有中间间距的方式设置 UICollectionViewCell 的大小
删除每个 UICollectionViewCell 之间的间距并将其移动到 UICollectionView 的外部单元格
相等的水平间距UICollectionView,包括插图 - UICollectionViewFlowLayout?