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

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

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

但是,如果我为单元格创建自定义单元格类,然后以编程方式将子视图添加到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) } } 

同样,无需手动添加标签(已在故事板中添加!)并设置其框架,它在运行时将不可见! 在故事板中,标签内容视图的子视图。 在运行时它不是

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

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

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

这里有一个类似的问题UITableView Empty与iOS 9 beta 5更新

我的回答是https://stackoverflow.com/a/32052154/2674336

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

我必须浏览内容视图中的每个项目(包括所有约束)并勾选属性检查器中的“已安装”复选框。 最初只检查了wR hR。 在此处输入图像描述