iOS:在Objective C中使用集合视图的马赛克布局[重复]

Posted

技术标签:

【中文标题】iOS:在Objective C中使用集合视图的马赛克布局[重复]【英文标题】:iOS: Mosaic Layout using collection view in Objective C [duplicate] 【发布时间】:2017-10-03 12:43:15 【问题描述】:

我需要使用 Objective C 中给出的集合视图来实现马赛克布局。我已参考 *** 问题 UICollectionView mosaic layout 来实现附加图像中给出的马赛克布局,但无法找到合适的解决方案。我也曾经参考过这个link,但无法解决我的问题。谁能告诉我从哪里开始实现此类功能的正确方法?您的帮助将不胜感激。

【问题讨论】:

这背后有什么逻辑吗?好像是2、3(2和大一)、3、3(大一和2)、3、3(2和大一)。那么除了第一行之外,其余的都相同吗?模式来定义?如果你知道模式:***.com/questions/43186246/…***.com/questions/42364859/… @Larme,是的,有一个递归模式,其中第一个块将是 2 大、3(2 小和 1 大)、3,3(1 大和 2 小)、3。此模式将再次以相同的顺序重复。 @Larme,感谢您的回复。我对“-(id)initWithSize:(CGSize)size”方法感到困惑。我发现您正在使用“CGSizeMake(size.width/3,150);”分配 self.unitSize 的属性。在这里,在 CGSizeMake 中我使用哪个尺寸? 在您的情况下,您可能不想只使用一个 unitSize 而是各种。第一行被二除,所以不一样。带 3 的线(2 小 1 大)的宽度不同(它与带 3 的线不对齐,更多 1/4、3/4),而带 3 的线(一大两小位于 1/3、2/3)。我建议使用“真正硬编码”的值做一个 for 循环(你一帧一帧地计算)。然后,尝试分解代码以了解模式,如何计算每个单元格的高度/宽度,然后您应该猜测一些单位大小。 medium.com/@cp-satish-v/… 【参考方案1】:

我建议您将 UICollectionViewFlowLayout 子类化为UICollectionViewLayout documentation 中的子类注释。每个单元格的大小计算部分取决于您的具体需求。

【讨论】:

以上是关于iOS:在Objective C中使用集合视图的马赛克布局[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Objective C 中以编程方式设置集合视图?

使用 Objective C 在 iOS8 中分离横向和纵向视图

在 Objective C 中使用自动布局分离纵向和横向视图

Objective C iOS 预加载视图

如何使用 Objective C iOS 从 iPhone X 中的表格视图顶部删除多余的空间

Objective C / IOS5 - 根视图 - 从空应用程序模板构建 (XCODE)