2

我有一个带有 2 种不同类型的 UICollectionViewCells 的 UICollectionView。有一个选项卡提示显示每种类型的单元格,一次只能看到一种类型的单元格。

出于某种原因,一种类型的单元格在 UICollectionView 中左对齐,但另一个单元格在中心水平对齐。我希望两种类型的单元格都左对齐。

边缘插图是:

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    return UIEdgeInsetsMake(10,10,10,10);
}

任何帮助将非常感激。

4

1 回答 1

2

单元格将根据其大小进行不同的布局,因此您需要为每种单元格类型使用不同的插图。我认为它应该是这样可行的:

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:section];
    if ([cell isKindOfClass:[MyClass1 class]]){
        return UIEdgeInsetsMake(10,10,10,10);
    }else{
        return UIEdgeInsetsMake(20,10,10,10);
}

将您的正确类名替换为 MyClass1 并尝试边缘插入,直到获得您想要的行为。

于 2013-06-05T17:32:00.393 回答