gpt4 book ai didi

ios - 为什么自动调整表格 View 单元格中的 UIImageView 具有内容模式 AspectFit 的原始高度?

转载 作者:行者123 更新时间:2023-11-28 08:25:36 25 4
gpt4 key购买 nike

我有一个表格 View ,其中包含可自行调整大小的单元格,我在其中显示图像。 ImageView 的内容模式是 AspectFit,这样我就可以以正确的宽高比看到整个图像。 ImageView 受限于父 View ,但也有最大高度限制。

当我有一个根据内容模式调整大小并因此低于原始大小的图像时,我希望 ImageView 的高度像调整大小后的图像而不是原始图像。

我有一个示例项目(请参阅下面的屏幕截图和下载链接),您可以在其中看到当前行为:黄色和绿色单元格具有正确的顶部和底部空间,蓝色单元格高 150 pt 但应该更少相同的顶部和底部空间。在屏幕截图中,您可以看到额外的顶部和底部空间是空的。

enter image description here

这是我的示例项目(Swift 3):

https://www.dropbox.com/s/16i48qnm54fktdk/Test.zip?dl=0

有人知道如何解决这个问题吗?

最佳答案

不幸的是,sizeToFit() 不适用于 UIImageView。但是,您可以将 testImageViewHeightConstraint 设置为图像的高度。

if let imageHeight = cell.testImageView.image?.size.height, imageHeight < cell.testImageViewHeightConstraint.constant {
print(imageHeight) // this is not the correct height of your image
cell.testImageViewHeightConstraint.constant = //your image height
}

但是,应用 aspectFit 后无法获取图像高度。获得它的唯一方法是自己实现一个自定义函数。可以看到这个帖子:How to know the image size after applying aspect fit for the image in an UIImageView

您可以先将您的 testImageViewHeightConstraint.constant 设置为 50,以确保我的建议有效:)

关于ios - 为什么自动调整表格 View 单元格中的 UIImageView 具有内容模式 AspectFit 的原始高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40107449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com