Ios UICollectionViewCell间距设置为0,但仍有间距

Ios UICollectionViewCell间距设置为0,但仍有间距,ios,objective-c,xcode,uicollectionview,uicollectionviewlayout,Ios,Objective C,Xcode,Uicollectionview,Uicollectionviewlayout,我正在尝试使单元格之间的间距=0 期望结果的示例: 我目前拥有的(iPhone 6): 我的代码: - (UICollectionViewFlowLayout *)setCollectionViewFlowLayout { UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; //iphone5 100 //iphone6 118 layout.item

我正在尝试使单元格之间的间距=0

期望结果的示例:

我目前拥有的(iPhone 6):

我的代码:

- (UICollectionViewFlowLayout *)setCollectionViewFlowLayout
{
    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];

    //iphone5 100
    //iphone6 118
    layout.itemSize             = CGSizeMake(118, 118);
    layout.footerReferenceSize  = CGSizeMake(0, 0);

    layout.sectionInset            = UIEdgeInsetsMake(0, 0, 0, 0);
    layout.minimumInteritemSpacing = 0.0;
    layout.minimumLineSpacing      = 0.0;

    return layout;
}

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    return UIEdgeInsetsMake(0, 0, 0, 0);
}
我对IB的了解:


我错过了什么?提前谢谢

如果未设置,请更新您的cellsize和imageview大小。您必须将imageview的约束设置为与单元格匹配

替换

layout.itemSize = CGSizeMake(118, 118);

我设置屏幕大小是因为我假设您的collectionview适合屏幕宽度。将其替换为您的collectionview大小


因为您试图显示3个单元格,但为项目设置了固定宽度。所以只需更新你的单元格大小。因为在不同的屏幕中,您的集合视图宽度将发生变化,所以您也应该更新单元格大小。

它说是项目之间的最小间距,而不是固定间距。
UICollectionViewFlowLayout
始终尝试在一行上设置尽可能多的项目

您应该将
UICollectionView单元格的宽度设置为动态,并根据
UICollectionView
的大小计算它们


比如说。如果您希望一行有3个单元格,请将
UICollectionView
的宽度除以3,就应该有单元格的宽度。不过,这需要对这些值进行一些实验。

谢谢您的回答。但还是给了我同样的结果。间距仍然很小there@tnylee那么也许你没有设置imageview的约束。是的!谢谢我将图像的大小更改为与单元格相同。
layout.itemSize = CGSizeMake([UIScreen mainScreen].bounds.size.width /3, [UIScreen mainScreen].bounds.size.width /3);