在TableViewCell中添加CALayer会触发CALayerInvalid异常

时间:2016-02-19 09:15:25

标签: swift uitableview cocoa-touch

这是我的子类:

class SchedulingDatePickerTableViewCell:UITableViewCell {
    @IBOutlet weak var fromPicker:UIDatePicker!
    @IBOutlet weak var toPicker:UIDatePicker!

    override func awakeFromNib() {
        let border = CALayer()
        border.frame = CGRect(x: 0, y: 0, width: 1, height: 128)
        border.backgroundColor = UIColor.SEMediumGrey().CGColor
        layer.addSublayer(layer)
    }
}

添加CALayer会触发以下异常:

*** Terminating app due to uncaught exception 'CALayerInvalid', reason: 'layer <CALayer: 0x7f8f3200eca0> is a part of cycle in its layer tree'

我不知道如何在图层树中创建一个循环。

有任何线索吗?

1 个答案:

答案 0 :(得分:3)

是的,我很愚蠢。

我正在将图层添加到自身中,而不是我创建的图层。