awakeFromNib不会更改UILabel属性

时间:2016-02-14 20:53:40

标签: ios uicollectionview

我有一个自定义UICollectionViewCell子类,我在xib文件中列出了这样的视图:

one

我的自定义UICollectionViewCell设置如下:

class DurationDayCollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var banner: UIView!
    @IBOutlet weak var numberOfHours: UILabel!
    @IBOutlet weak var unitHrs: UILabel!
    @IBOutlet weak var dayOfWeek: UILabel!

    @IBOutlet weak var hourContainer: UIView!

    override func awakeFromNib() {
        super.awakeFromNib()

        self.unitHrs.sizeToFit()
        self.dayOfWeek.sizeToFit()
        self.numberOfHours.sizeToFit()
}

但是当我运行它时,集合视图如下所示:

two

为什么我放入awakeFromNib的代码没有改变任何内容?我想我真的不明白它是如何运作的,有人可以解释一下吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您的笔尖正在使用自动布局(从屏幕截图中可以清楚地看到,笔尖中的视图对它们有约束)。 sizeToFit对自动布局约束下的视图没有影响,因为它的大小是由约束设置的。

但是,您sizeToFit中唯一要做的就是awakeFromNib。因此,awakeFromNib毫无意义。