单元格不会在自定义CollectionView流布局上调整大小,每个单元格应具有不同的大小

时间:2019-04-13 20:27:23

标签: ios swift xcode uicollectionview uicollectionviewflowlayout

我正在关注an old tutorial,以了解如何在集合视图上创建标签流系统。我设法显示了每个标签具有不同大小的完整标签,但是我正在努力使单元格自行调整大小。我是Swift / Xcode的初学者,因此错误一定很傻,但是我无法弄清楚。

我关注了this tutorial,但是我的记录不起作用。我根据Xcode的建议做了一些改动,因为那里的语法有些陈旧。我想我可能误会了一些东西。

I have uploaded the project to GitHub,但我认为是以下问题:

该全局变量应该是用于覆盖函数以检查大小的单元格:

var sizingCell: TagCell?

viewDidLoad()上,我用

self.sizingCell = (cellNib.instantiate(withOwner: nil, options: nil) as NSArray).firstObject as! TagCell

在扩展名上

extension ViewController: UICollectionViewDataSource{
...
}

我具有以下功能来调整单元格的大小(来自教程)

func configureCell(cell: TagCell, forIndexPath indexPath: IndexPath){
    let tag = TAGS[indexPath.row]
    cell.tagName.text = tag
}

func collectionView(_ collectionView: UICollectionView,
                        layout collectionViewLayout: UICollectionViewLayout,
                        sizeForItemAt indexPath: IndexPath) -> CGSize{
    self.configureCell(cell: self.sizingCell!, forIndexPath: indexPath)
    return self.sizingCell!.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
}

我希望不同的行能够具有不同数量的标签(例如在流布局中),并且每个标签单元具有不同的宽度。相反,每个单元格都具有大小尺寸,但是标签允许具有不同的大小。

0 个答案:

没有答案