UICollectionView - 单元格之间的距离?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UICollectionView - 单元格之间的距离?相关的知识,希望对你有一定的参考价值。

我正在使用单元格宽度为67的UICollectionView,现在我正在使用流布局。

我连续有3个细胞,细胞之间有30px的空间。如何减少距离,以便我可以连续安装四个细胞?这种方法与它有关吗?

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

这个UICollectionViewFlowLayoutDelegate方法将帮助你..

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionView *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section  
  {
    return 10; // This is the minimum inter item spacing, can be more
  }

如果你需要更多空间来安排你的细胞,还可以调整edgeInsets

另一答案

您可以使用以下属性配置单元格或行之间的间距。 1)用于在行之间设置空间。

[self.collectionView setMinimumLineSpacing:5];

2)用于设置项目/单元格之间的空间。

[self.collectionView setMinimumInteritemSpacing:5];

您也可以从Interface Builder(IN)配置它。只需从storyboard / Xib文件中选择UICollectionView,然后单击下图中指定的Size Inspector。 qazxsw poi

另一答案

来自enter image description here。您需要更改minimumInteritemSpacing和minimumLineSpacing。

this
另一答案

不,它没有。只需更改布局的UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init]; flow.itemSize = CGSizeMake(cellWidth, cellHeight); flow.scrollDirection = UICollectionViewScrollDirectionHorizontal; flow.minimumInteritemSpacing = 0; flow.minimumLineSpacing = 0; mainCollectionView.collectionViewLayout = flow;

另一答案

您可以使用委托方法,如: - 用于更改节中单元格之间的空间。

minimumInteritemSpacing

用于显示不同部分的单元格之间的顶部,底部y填充。

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionView *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section  

//布局:设置边缘//为单元格设置插入

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section 
另一答案

swift 3.0

- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section 
//top,left,botttom,right
另一答案

我遇到过同样的问题..

在我的情况下,我需要一个矩形单元格。

为了达到预期的效果,我使用了UICollectionViewDelegateFlowLayout。

这是我执行的方法之一:

 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {

    if DEVICE_IDIOM == .pad {
        return 15.0
    }
    else {
        return 10.0
    }
}

这对我来说很好!我希望它对某人有帮助。

另一答案

Swift 4.2

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout*)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
{
    CGFloat width = CGRectGetWidth(self.view.frame)/3.0f;
    return CGSizeMake(width, (width * 1.1f));
}

以上是关于UICollectionView - 单元格之间的距离?的主要内容,如果未能解决你的问题,请参考以下文章

单元格 UICollectionView 之间的间距不正确

如何删除 UICollectionView 中单元格之间的空间? [复制]

Swift:UICollectionView - 固定单元格之间的空间

UICollectionView,UICollectionViewFlowLayout:不同的单元格宽度和相同的单元格之间定义的间距

如何禁用 UICollectionView 部分之间的单元格拖动?

UICollectionView 项目、部分和单元格之间有啥区别? [关闭]