UICollectionViewCell 中的自动标签调整大小不起作用

Automatic Label Resize in UICollectionViewCell Not Working

我无法让 UICollectionViewCell 中的标签根据字符串的长度动态调整大小。我已经将单元格子类化并将标签链接到它。我已经把行数设置为0了,还是没有骰子

我也调用了 sizeToFit() 方法。

为 iOS 8.2

编译

这是我的自定义 Cell 代码:

class ItemCollectionCell: UICollectionViewCell {

@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var reviewerLabel: UILabel!
@IBOutlet weak var statusImageView: UIImageView!

override func awakeFromNib() {
    super.awakeFromNib()
    self.selected = false

    titleLabel.numberOfLines = 0
    titleLabel.sizeToFit()
    }
}

确保您没有取消选中 InterfaceBuilder 中的 Autoresize subviews

您必须告诉集合视图单元格的大小。使用 UICollectionViewDelegateFlowLayout 协议的这种方法:

collectionView:layout:sizeForItemAtIndexPath:

可以通过调用NSString UIKit Additions的方法来计算大小

boundingRectWithSize:options:attributes:context:

并在属性参数中传递字体信息。

好的...所以感谢那些提供帮助的人。我发现我的问题确实与自动布局约束有关。我只是错过了 "Constrain to Margin".

的方框