自定义 UITableViewCell 的自动布局约束在运行时失败

Autolayout constraints on custom UITableViewCell failing at runtime

我的应用程序使用 table 视图控制器来显示自定义原型 table 视图单元格,其中包含嵌入在堆栈视图中的图像视图和标签。不幸的是,在 运行 时间,主 imageView(左侧)似乎放弃了其约束并以意想不到的方式显示图像。

虽然我已经在之前的视图控制器(顶部)的视图中成功实现了基本相同的嵌入堆栈视图的组件配置,但这种相同的配置似乎在自定义 table 视图中不起作用细胞(底部)。

它在 XCode 中是这样显示的:

这是它在模拟器中的显示方式:

在第一次诊断问题时,我的调试器建议我通过添加 UIViewAlertForUnsatisfiableConstraint 来设置一个符号断点,因为它是 "attempting to recover by breaking a constraint",如此处所述:How to trap on UIViewAlertForUnsatisfiableConstraints?

在尝试修复问题几次后,该错误消失了,取而代之的是一个看似 Apple 的错误:

是否有解决后一个错误的方法,或者我是否正在做一些可以修复的触发它的事情?

仅供参考:我主要使用 IB 来布置约束,因为视图有些密集。

您正在使用 UITableViewCell's 默认值 UIImageView。 您必须为位于 UITableViewCell

中的 ImageView 创建 Outlet 连接

您的代码:

class TableViewCell: UITableViewCell {
     @IBOutlet weak var thumbImgVw: UIImageView!
}


if let url = URL(string: location.imageUrl) {
    if let imageData = try? Data(contentsOf: url) {

         let image = UIImage(data: imageData)
         cell.thumbImgVw?.layer.cornerRadius = 10
         cell.thumbImgVw?.clipsToBounds = true
         cell.thumbImgVw?.image = image
    }
}