UICollectionView自动调整大小导致错误

时间:2016-04-07 16:50:44

标签: ios swift autolayout uicollectionview

我正在开发一个玩具应用来调查涉及UICollectionView的其他内容。因为我需要(只接受前提并继续前进),我试图使用自动布局在单元格中显示文本。由于某种原因,某个点后,应用程序开始失败EXC_BAD_ACCESS(code=2, address=0x7fff532ebfd0)。我无法弄清楚原因。

我没有做任何花哨的事。这是估计的大小代码。

    if let cvl = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
        cvl.estimatedItemSize = CGSize(width: 40, height: 30)
    }

这是数据源方法。

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("reuse", forIndexPath: indexPath) as! LabelCell

    let string = stCrispensDaySpeech[indexPath.row]

    cell.label.text = string
    cell.backgroundColor = UIColor.grayColor()

    return cell

}

您可以在furry-waddle tag获得整个项目。

1 个答案:

答案 0 :(得分:1)

我看到了你的代码,我发现了问题:

问题是当出现“,”字符时,因为单元格的宽度(最小= 40)

只需将代码更改为:

    if let cvl = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
        cvl.estimatedItemSize = CGSize(width: 10, height: 30)
    }