Xcode 7 beta 5,Swift 2:UITableViewCell 的子视图不会在运行时添加到 contentView

Xcode 7 beta 5, Swift 2: UITableViewCell's subviews are not added to the contentView at runtime

使用Xcode 7 beta 5和Swift 2时会出现以下现象:

使用在故事板中创建的自定义 UICollectionViewCell 时,单元格的子视图不会添加到单元格的 contentView。因此单元格在 运行 时间保持空白。

但是,如果我为单元格创建一个自定义单元格 class,然后以编程方式将子视图添加到 contentView 并设置它们 frame,将显示单元格的内容:

class Cell : UITableViewCell {

    @IBOutlet weak var label: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()

        NSLog("subiews.count=%d", contentView.subviews.count) // prints "0"

        contentView.subviews.count
        contentView.addSubview(label)

        label.frame = CGRect(x: 0, y: 0, width: 200, height: 21)
    }
}

同样,如果不手动添加标签(已添加到情节提要中!)并设置其框架,它在 运行 时将不可见!在故事板中,标签 内容视图的子视图。在 运行 的时候 不是 .

我无法在最新的 Xcode 6 和 Swift 1.2 中观察到这种行为。

有人可以证实这种愚蠢的行为吗?也许提供更简单的解决方法?

编辑: 幸运的是,在以编程方式将这些视图添加到 contentView 之后,应用了对单元格子视图的视图约束。因此至少不需要手动设置它们的框架。

这里有一个类似的问题

还有我的回答

我不能说这是否是一个通用解决方案,但在完全相同的情况下(更新到 XCode 7 beta 5 后 tablviewcell 内容在运行时为空)这为我解决了:

我必须检查内容视图中的每个项目(包括所有约束)并勾选属性检查器中的复选框 "Installed"。最初只检查 wR hR。