Swift 动态调整UITableViewCells的大小

Swift 动态调整UITableViewCells的大小,swift,uitableview,uilabel,ios-autolayout,Swift,Uitableview,Uilabel,Ios Autolayout,我以前使用过动态调整UITableViewCell。但目前我面临一个问题,即无法使用autolayout 我的单元格有三个组件,即-a-viz一个UIImageView,两个UILabel 该单元的结构如下所示 UIImageView在我的情况下必须具有固定的宽度和高度60X60 UIImageView将垂直居中于UITableViewCell UIImageView在UITableViewCell 现在两个ui标签已垂直放置 这两个标签都可以具有动态高度,我希望它们使用autolayout推动

我以前使用过动态调整
UITableViewCell
。但目前我面临一个问题,即无法使用
autolayout

我的单元格有三个组件,即-a-viz一个
UIImageView
,两个
UILabel

该单元的结构如下所示

UIImageView
在我的情况下必须具有固定的宽度和高度
60X60

UIImageView
将垂直居中于
UITableViewCell

UIImageView
UITableViewCell

现在两个
ui标签已垂直放置

这两个标签都可以具有动态高度,我希望它们使用
autolayout
推动展开单元格,但我只能实现顶部
UILabel
保持恒定高度,而下方
UILabel
增加高度


我想让
ui标签
垂直扩展,并增加
ui表格视图单元格的大小
只需对两个标签使用StackView,并将两个标签
numberOfLine
设为0,换行符应为
WordWrap。
为堆栈视图提供前导、尾随、顶部和底部约束。对于标签之间的间距,请在xcode详细信息窗格上为stackview指定间距


有关约束的设置,请参见屏幕截图。 在标签上添加一个高度约束,使常量大于等于为固定值(请参见屏幕截图2)。并将行设置为0。在表视图中,将其设置为UITableViewAutomaticDimension

您可能需要找到
字符串的高度,手动调整
UILabel
的大小,以及
UITableViewCell
的大小。只需尝试将标签约束的高度设置为大于或等于。多行
UILabel
和自动布局不能很好地结合在一起。对于这类布局,我通常使用手动布局。正如@SagarShirbhate所说,一个选项是计算标签应有的高度-我将对第一个UILabel执行此操作,对第二个UILabel使用动态高度。如果
堆栈视图
可用,这是一个很好的解决方案。但是不要使用
堆栈视图。顶部
堆栈视图。底部
带有“幻数38.5”(这就是为什么它在Xcode中不发出警告)使用标准值,但对于底部边距,将其设置为
大于或等于
。请注意,图像的高度和宽度应设置为满足约束条件。我的应用程序支持iOS 8.0或更高版本,因此我无法使用UIStackView。