jjzjj

ios - Xcode 7 测试版 5,Swift 2 : UITableViewCell's subviews are not added to the contentView at runtime

coder 2024-01-12 原文

在使用 Xcode 7 beta 5 和 Swift 2 时出现如下现象:

当使用在 Storyboard中创建的自定义 UICollectionViewCell 时,单元格的 subview 不会添加到单元格的 contentView。因此单元格在运行时保持空白。

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

同样,如果不手动添加标签(已添加到 Storyboard 中!)并设置其框架,它将在运行时不可见!在 Storyboard中,标签内容 View 的 subview 。在运行时它不是

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

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

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

最佳答案

这里也有类似的问题UITableView Empty with iOS 9 beta 5 update

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

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

我必须检查内容 View 中的每个项目(包括所有约束)并在属性检查器中勾选“已安装”复选框。最初只检查 wR hR。

关于ios - Xcode 7 测试版 5,Swift 2 : UITableViewCell's subviews are not added to the contentView at runtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32027137/

有关ios - Xcode 7 测试版 5,Swift 2 : UITableViewCell's subviews are not added to the contentView at runtime的更多相关文章

随机推荐