我有一个包含垂直叠加视图的UITableViewCell
。我已将UIStackView
设置为UITableViewAutomaticDimension
的行高和估计高度。UITableView
的其中一个子视图包含如下两个UIStackView
:
小的是UIImageViews
,大的是avatarImageView
。以下是限制条件:messageImageView
:avatarImageView
:
然后,我尝试用messageImageView
的委托方法更新cellForRowAt
的高度以匹配图像比例(我让图像视图的宽度为200px)。
let ratio = image.size.width / image.size.height
cell.messageImageViewHeightConstraint?.constant = 200 * ratio
我正试图使用此图像例如:
但它根本不起作用,图像占用了太多空间,而且由于某种原因,化身图像视图最终被隐藏(单元格被红色包围,上面是一个只有文本的单元格,工作正常):
那么我在这里遗漏了什么?
谢谢你的帮助!
最佳答案
您的ratio
与您使用它的方式相反:
最简单的解决方法是除以ratio
而不是乘以它:
let ratio = image.size.width / image.size.height
cell.messageImageViewHeightConstraint?.constant = 200 / ratio
或者如果您愿意,更改
ratio
计算:let ratio = image.size.height / image.size.width
cell.messageImageViewHeightConstraint?.constant = 200 * ratio
关于ios - 自动版式:缩放UIStackView/UITableViewCell中的UIImageView问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52030632/