1

我正在关注一个关于如何在集合视图上制作标签流系统的旧教程。我已经设法显示每个不同大小的完整标签,但我正在努力让单元格自行调整大小。我是 Swift/Xcode 的初学者,所以错误一定很愚蠢,但我想不通。

我已按照本教程进行操作,但我的不起作用。我已经根据 Xcode 推荐的内容进行了一些更改,因为那里的语法有点旧。我想我可能误会了什么。

我已将项目上传到 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)
}

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

4

0 回答 0