iOS UICollectionViews和自动布局

问题描述:

我遇到了UICollectionViews的一个小问题。我已经发布了一个问题之前,在这里,但我想我已经搬到位 -iOS UICollectionViews和自动布局

UICollectionView - Autolayout with pinterest style layout

目的 -

UICollectionview与使用自动布局单元格的自定义位置布局。

当前的播放状态:

我公司目前拥有从UICollectionViewLayout继承LayoutView。在我的PrepareLayout()中,我正在循环收集项目并创建一个属性列表,然后根据矩形通过LayoutAttributesForElementsInRect返回。

也在PrepareLayout期间,我使用“原型”单元格(仅用于获取正确大小而不是UI的一部分的单元格)。我用数据填充单元格,然后询问单元格的最小高度。宽度是根据当前项目的宽度来计算的,即跨越多个列。

问题:

所以我的问题,我打的是我的电池由多个标签是多(0线)。我创建了附加到ContentView顶部,左侧,右侧和底部的约束,但似乎无法使标签正确包装。我知道UILabel需要设置PreferedMaxWidth,但我的问题是我的单元格将在标签旁边有一个UIImageView,所以我不认为我可以计算剩余的可用空间。

任何人都可以伸出援助之手或者指点我在哪里寻找更多信息的大方向?

+0

您是否曾经在Ray Wenderlich的网站上浏览过“Pinterest样式布局教程”? https://www.raywenderlich.com/164608/uicollectionview-custom-layout-tutorial-pinterest-2 – DonMag

+0

是的,道歉我可能应该说 - 我有这是我的原始起点,但不幸的是它是汽车布局方似乎是导致我的问题。 – Robert

+0

嗯......自从我看了很长一段时间,但我认为它*是*使用自动布局? – DonMag

AFAIK,没有办法纯粹自动布局UICollectionViewCell,请查看CHTCollectionViewWaterfallLayout

+0

是的,我手动计算宽度,并使用自动布局来获得高度。这是一个稍微更详细的帖子。 https://forums.developer.apple.com/message/270843 – Robert