Ios 手动实例化UITableViewCell时,它不会按预期显示

Ios 手动实例化UITableViewCell时,它不会按预期显示,ios,uitableview,autolayout,Ios,Uitableview,Autolayout,我已经使用xib创建了一个自定义的UITableViewCell 自定义单元格很简单,由固定在UITableViewCell的“内容视图”的4个边缘上的UILabel组成 我想实例化此单元格并将其添加为UIStackView的子视图。我使用以下代码来实例化单元格 让nib=UINib(nibName:“CustomTableViewCell”,bundle:nil) 让cell=nib.instantiate(withOwner:nil,options:nil)!CustomTableViewC

我已经使用xib创建了一个自定义的
UITableViewCell

自定义单元格很简单,由固定在
UITableViewCell
的“内容视图”的4个边缘上的
UILabel
组成

我想实例化此单元格并将其添加为
UIStackView
的子视图。我使用以下代码来实例化单元格

让nib=UINib(nibName:“CustomTableViewCell”,bundle:nil)
让cell=nib.instantiate(withOwner:nil,options:nil)!CustomTableViewCell
stackView.addArrangedSubview(单元格)
当应用程序运行时,我观察到单元格的大小与预期不符。高度小于预期值,且标签未显示

使用Xcode中的“Debug View Hierarchy”,我发现单元格的内容视图中添加了一些约束,这导致了这个问题。

UIView封装布局-*
约束似乎是问题的根源。有人能指出如何解决这个问题吗


注意-如果在
UITableView
中使用自定义的
UITableView单元格
,则它会按预期显示。只有当手动实例化
UITableViewCell
时,才会观察到该问题。

我认为表视图单元格不是设计为以这种方式工作的。不过,使用它的内容视图,您可能会有一些运气。因此,将
cell.contentView
插入堆栈视图而不是单元格。请注意,这可能会产生其他问题,因为单元格现在没有被其superview保留,因此您需要将其添加到某个数组中以保留所有功能。此外,如果所有操作都失败,我建议您在XIB中创建一个包含所有设计和功能的
@IBIdesignable
视图。然后,对于堆栈视图,只需直接使用视图。对于单元格,您可以在故事板或另一个XIB中添加与子视图相同的视图。正如@MaticOblak所指出的,添加单元格的
contentView
。不支持更改UITableViewCell的contentView的translatesAutoresizingMaskIntoConstraints属性的警告
[LayoutConstraints],这将导致未定义的行为,因为此属性由所属UITableViewCell管理。
显示在日志中。这一点在本问题中也已指出-