Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自定义UITableViewCell上的自动布局约束在运行时失败_Ios_Uitableview_Uiview_Autolayout_Interface Builder - Fatal编程技术网

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

Ios 自定义UITableViewCell上的自动布局约束在运行时失败,ios,uitableview,uiview,autolayout,interface-builder,Ios,Uitableview,Uiview,Autolayout,Interface Builder,我的应用程序使用表视图控制器显示自定义原型表视图单元格,其中包含嵌入堆栈视图中的图像视图和标签。不幸的是,在运行时,主imageView(左侧)似乎放弃了它的约束,以一种意想不到的方式显示图像 虽然我已经成功地在先前的视图控制器(顶部)的视图中实现了嵌入堆栈视图中的组件的基本相同配置,但在自定义表视图单元(底部)中,这种相同的配置似乎不起作用 这是它在XCode中的显示方式: 这是它在模拟器中的显示方式: 在第一次诊断问题时,我的调试器建议我通过添加UIViewAlertForUnsatif

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

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

这是它在XCode中的显示方式:

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

在第一次诊断问题时,我的调试器建议我通过添加UIViewAlertForUnsatifiableConstraint来设置一个符号断点,因为它“试图通过破坏约束进行恢复”,如下所述:

在几次尝试修复问题后,该错误消失了,取而代之的似乎是苹果的错误:

有没有办法解决后一个bug,或者我是否正在做一些事情来触发它,以便修复


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

您正在使用的是
UITableViewCell的
default
UIImageView
。 您必须为
UITableViewCell
中的
ImageView
创建插座连接

您的代码:

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
    }
}

尝试在内容类型中键入scaletofitimageview@D.Desai对这是默认设置。不幸的是,当我选择它作为内容类型时,它的行为方式是相同的。还可能是什么?我尝试过这个,除了删除我的标签。实际上,我约束了imageView的高度和宽度,而不是像您建议的那样约束到左、右、上、下等等。但是,这两种方法都会产生相同的结果。请删除您的堆栈视图并单独添加UIImageView。然后给出以下约束条件。试着跑。你会得到好结果的。然后,你可以添加一个视图。这似乎不起作用。是的,stackview似乎没有必要,但在以前的视图控制器中,相对于右侧包含标签的stackview和另一个带有嵌入式UIImageView的stackview,创建适当的页边距和管理其行为要容易得多。您能告诉我,您对UIStackView[缩略图]施加了哪些约束吗以及间距和UIImageView[缩略图]约束?水平堆叠视图[最顶部]、顶部、左侧、底部、右侧??我说的对吗??