Ios UICollectionView中的UICollectionViewCell
我正在尝试将Ios UICollectionView中的UICollectionViewCell,ios,objective-c,swift,autolayout,uicollectionview,Ios,Objective C,Swift,Autolayout,Uicollectionview,我正在尝试将UICollectionView放在UICollectionViewCell内。我已经使用autolayout在xib文件中准备了我的单元格,collectionView中的单元格也是如此。 但是自动布局呢 由于单元格中的内容,我的一些uicollectionview与其他视图的大小不同,因此我无法使用sizeForItemAt indexath:计算正确的大小 使用autolayout是否有任何相当简单的方法可以做到这一点,不同于将此主UICollectionView更改为UITa
UICollectionView
放在UICollectionViewCell
内。我已经使用autolayout在xib文件中准备了我的单元格,collectionView中的单元格也是如此。
但是自动布局呢
由于单元格中的内容,我的一些uicollectionview
与其他视图的大小不同,因此我无法使用sizeForItemAt indexath:
计算正确的大小
使用autolayout是否有任何相当简单的方法可以做到这一点,不同于将此主UICollectionView
更改为UITableView
,并使用UITableViewAutomaticDimension
作为HightForRowAt indexPath:
编辑:
为了解释我迄今为止所做的一切,我将提供一个单元格布局:
以及一些计算单元大小的算法:
首先,我在我的UIViewController
子类中声明了一个单元格数组,如下所示:
fileprivate var cellsHeight:[CGFloat]=[]
在此之后,在UICollectionView
delegate方法collectionView(\ucollectionview:UICollectionView,cellForItemAt indexPath:indexPath)->UICollectionViewCell
中,我用每个collectionView
内容大小的高度填充此数组,如下所示:
let cell=collectionView.dequeueReusableCell…
if cell.collectionView != nil {
cellsHeight.append(cell.collectionView.collectionViewLayout.collectionViewContentSize.height)
}
然后在内部collectionView(\ucollectionview:UICollectionView,sizeForItemAt indexath:indexPath)->CGSize
中,我使用boundingRect
方法计算每个标签大小,加上一些填充和以前获取的collectionView高度
但我认为这太过分了。你能提供布局的参考图片吗?我刚做了。过来看。