我有一个适合3个单元格宽度(并垂直滚动)的UICollectionView。当我改变设备的旋转时,集合视图会拉伸一点,单元格间距也会增加一些。然而,左细胞向左边缘断裂,右细胞向右边缘断裂,中心细胞保持中心位置。
我更希望两边都有一个边距,与细胞之间的距离相等,这样看起来空间就更小了。
我试着调用[collectionView setContentInset:UIEdgeInsetsMake(0, 10, 0, 10)];
,但这只是在视图中添加了一个水平滚动,而不是近似于单元格。
如何在不改变滚动视图大小的情况下添加页边距?
发布于 2013-12-13 19:52:23
我想通了。我必须添加这个委托方法:
- (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];
https://stackoverflow.com/questions/20572515
复制相似问题