ios – 在UITableViewCell中设置与宽度成比例的UIImageView高度

ios – 在UITableViewCell中设置与宽度成比例的UIImageView高度,第1张

概述我正在尝试创建一个UITableView,其中每个单元格包含一个纵向或横向UI ImageView,其中图像在填充屏幕宽度时保持其纵横比,如下所示: | ||########||########||########||########||########|| ||########||########||########|| | 我已经设 我正在尝试创建一个UItableVIEw,其中每个单元格包含一个纵向或横向UI ImageVIEw,其中图像在填充屏幕宽度时保持其纵横比,如下所示:

|        ||########||########||########||########||########||        ||########||########||########||        |

我已经设置了autolayout约束来将UIImageVIEw的边缘附加到表视图单元格的contentVIEw.这适用于宽度,但高度不是我想要的 – 它总是扩展到底层图像的整个高度.

我在表视图上有这些设置:

self.tableVIEw.estimatedRowHeight = 100.0;self.tableVIEw.rowHeight = UItableVIEwautomaticDimension;

在构造单元格时,我正在尝试计算必要的高度,以便我可以更改UIImageVIEw的框架(或高度约束):

let cell = tableVIEw.dequeueReusableCellWithIDentifIEr("activityPostCell",forIndexPath: indexPath) as UItableVIEwCelllet image = UIImage(named: "my-image.jpg")let aspectRatio = image!.size.height / image!.size.wIDthlet imageVIEw = cell.vIEwWithTag(15) as UIImageVIEw        let imageVIEwHeight = aspectRatio * imageVIEw.frame.wIDth

这里的问题是我得到的imageVIEw.frame是在布局发生之前,所以无论如何我都没有计算出正确的高度.

我是以正确的方式来做这件事的吗?有没有一种简单的方法来设置UIImageVIEw的宽高比以匹配它包含的图像?提前致谢.

解决方法 根据@ Wain的建议,添加宽高比约束解决了这个问题:

let image = UIImage(named: "my-image.jpg")let aspectRatio = image!.size.height / image!.size.wIDthlet imageVIEw = cell.vIEwWithTag(15) as UIImageVIEwimageVIEw.addConstraint(NSLayoutConstraint(    item: imageVIEw,attribute: NSLayoutAttribute.Height,relatedBy: NSLayoutRelation.Equal,toItem: imageVIEw,attribute: NSLayoutAttribute.WIDth,multiplIEr: aspectRatio,constant: 0))
总结

以上是内存溢出为你收集整理的ios – 在UITableViewCell中设置与宽度成比例的UIImageView高度全部内容,希望文章能够帮你解决ios – 在UITableViewCell中设置与宽度成比例的UIImageView高度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1072514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存