繁体   English   中英

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 因此,单元格在运行时保持空白。

但是,如果我为单元格创建自定义单元格类,然后以编程方式将子视图添加到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。 在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM