ios – 如何设置动态UICollectionViewCell间距

ios – 如何设置动态UICollectionViewCell间距,第1张

概述我在尝试在集合视图中设置细胞间距时遇到问题. iPhone 5上的一切看起来都不错,但是当我在6和6上运行它时,单元间距会急剧增加.我将最小间距设置为10,但似乎没有帮助.第一个图像是我试图在所有设备上实现的.之后的图片是我实际得到的: 这是我在IB中设置的图片: 根据您的问题,听起来您打算设置minimumInteritemSpacing(在同一行中的项目之间使用的最小间距). 无论哪种方式,最 我在尝试在集合视图中设置细胞间距时遇到问题. iPhone 5上的一切看起来都不错,但是当我在6和6上运行它时,单元间距会急剧增加.我将最小间距设置为10,但似乎没有帮助.第一个图像是我试图在所有设备上实现的.之后的图片是我实际得到的:

这是我在IB中设置的图片:

解决方法@H_301_7@ 根据您的问题,听起来您打算设置minimumInteritemSpacing(在同一行中的项目之间使用的最小间距).

无论哪种方式,最小间距是您接受的最小间距,而不是您想要的精确间距. 100的空格仍然有效,因为它大于10.

真正的问题是单元格大小,您已将其固定为150×200.如果希望单元格调整宽度,则需要根据视图宽度计算流程布局的itemSize.

>如果所有单元格大小相同,则可以设置流程布局的itemSize属性:

#define kCellsPerRow 2UICollectionVIEwFlowLayout *flowLayout = (UICollectionVIEwFlowLayout*)self.collectionVIEw.collectionVIEwLayout;CGfloat availableWIDthForCells = CGRectGetWIDth(self.collectionVIEw.frame) - flowLayout.sectionInset.left - flowLayout.sectionInset.right - flowLayout.minimumInteritemSpacing * (kCellsPerRow - 1);CGfloat cellWIDth = availableWIDthForCells / kCellsPerRow;flowLayout.itemSize = CGSizeMake(cellWIDth,flowLayout.itemSize.height);

>如果需要计算每单元格大小,可以在collectionVIEw:layout:sizeforItemAtIndexPath:delegate中进行计算.

在设备方向更改并重新更新布局时重新计算itemSize:

>没有动画的重绘布局:

[self.collectionVIEw.collectionVIEwLayout invalIDateLayout]
>动画布局更改:

[self.collectionVIEw performBatchUpdates:nil completion:nil]

总结

以上是内存溢出为你收集整理的ios – 如何设置动态UICollectionViewCell间距全部内容,希望文章能够帮你解决ios – 如何设置动态UICollectionViewCell间距所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1114194.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存