带有图像视图和标签的 iOS UITableViewCell 动态大小的表格视图单元格

Posted

技术标签:

【中文标题】带有图像视图和标签的 iOS UITableViewCell 动态大小的表格视图单元格【英文标题】:iOS UITableViewCell dynamic sized tableview cell with imageview and label 【发布时间】:2015-10-19 09:18:23 【问题描述】:

在我的应用程序中,我有一个 UILabel 和一个 UIImageView 。它们都有固定的宽度,但它们的高度应该改变。 我希望 UILabel 的高度改变以适应它所持有的文本,我希望 UIImageView 的高度自动改变以填充宽度并保持它的纵横比。 我的问题是自动布局不允许我将两个项目的垂直内容压缩阻力优先级设置为相同的常数。因为这一项将永远压迫另一项。

我期望的是 tableviewcell 动态改变它的高度以适应它的内容。 我不想修改代码中的任何内容。

【问题讨论】:

有什么截图可以提供吗? 我不能,这和工作有关。 您可以设置从UILabel 顶部到UITableViewCell 顶部和标签底部到单元格底部的约束。这样,每当标签或图像改变高度时,单元格的顶部/底部将始终相距 X 点。 但是这样他们就不会保持相同的距离了。 【参考方案1】:

你可以用很多可能的方式来做,比如

1.) 在此处使用 StackView 是一个帮助链接http://www.raywenderlich.com/114552/uistackview-tutorial-introducing-stack-views

2.) 您可以选择您的 UILabel 及其 superView 而不是选择 aspectRatio ,以同样的方式选择您的 UIImageViewsuperView 而不是选择 aspectRatio

这会有所帮助,谢谢。

【讨论】:

第一个答案是正确的,不幸的是我也需要支持ios8。不幸的是,第二个答案是不正确的。我希望标签和图像视图都保持相同的宽度,并根据需要向下扩展以显示其全部内容。设置它们的纵横比将使它们始终保持相同的高度(因为它们的宽度是固定的)

以上是关于带有图像视图和标签的 iOS UITableViewCell 动态大小的表格视图单元格的主要内容,如果未能解决你的问题,请参考以下文章

带有标签栏的 iOS 图像分辨率

带有图像视图、2 个标签、按钮的自动布局 - 标签在旋转后消失

ios在表格视图单元格中视觉调整图像大小

如何在ios中更改标签栏项目的背景图像?

标签栏和视图大小 xcode

iOS视图不会显示标签和图像