自定义 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
}
}
我的应用程序使用 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
}
}