首页 > 解决方案 > 如何在 TableController 的 ImageView 中正确添加图像?

问题描述

我有一个 TableViewController 和自定义单元格。在单元格内,我有一个 ImageView。Xcode 9.4 *我没有足够的声誉 - 所以提供链接。

点击图片

我已将约束设置为 superview Leading-Trailing: 20, Top-Bottom:10, clip to bound, Scale to fill。

当我启动应用程序时,我会监督这个:

点击图片

图像缩小。如果我更改为 Aspect Fit/Aspect Fill 图像会变小(图像视图未填充)或缩放(并非所有图像都可用)。

如何解决这个问题?为了兼容性,我不想给它特定的宽度/高度。

也许我应该改变我的约束?我看过几个教程,这些约束在其中起作用,甚至一步一步地做了,但是它没有按预期工作。

ImageView 到 superView(即单元格本身)的所有约束都已解决。

谢谢。

标签: iosswiftxcodeuitableviewuiimageview

解决方案


为您的单元格设置估计高度self.tableView.estimatedRowHeight = CGFloat(44),并tableView.rowHeight = UITableViewAutomaticDimension使其根据您内部的内容增长。这里的问题是您image的单元格从您image提供的高度获得高度,如果您为图像提供固定高度,您的问题将得到解决。

imageView根据 iPhone 和 iPad调整高度。

第一种方法是以编程方式获取superView高度并根据该高度给出图像高度。

其次,您可以获得当前的设备类型并为您提供image高度UIDevice.current.userInterfaceIdiom == .pad。您无法在情节提要中执行此操作,因为您无权访问superView自定义单元格。


推荐阅读