UITableViewAutomaticDimension 未正确调整 UIIImageView 的大小

Posted

技术标签:

【中文标题】UITableViewAutomaticDimension 未正确调整 UIIImageView 的大小【英文标题】:UITableViewAutomaticDimension not correctly sizing UIIImageView 【发布时间】:2017-02-25 20:21:17 【问题描述】:

我正在尝试根据单元格中的内容(主要是图像)设置 UITableViewCell 高度。它在 iPhone 7 Plus 上看起来不错,但是任何较小的设备都会产生类似于 this 的东西。

我的代码在MainViewController:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat 
    return UITableViewAutomaticDimension


func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat 
    return UITableViewAutomaticDimension

我的限制:

我做错了什么?我将高度和宽度约束设置为“大于或等于”200。故事板上 UIImageView 的高度和宽度为 370x370

【问题讨论】:

为什么左右约束不相等? @AdrianBobrowski 左右约束相等。 如果左右约束相等,则不需要定义宽度和高度。那么一切都会好起来的 @AdrianBobrowski 如果我没有为 UIImage 定义我的高度和宽度,那么在运行我的应用程序时会发生这种情况 (imgur.com/a/3VFzK) 你的 UIImageView 有AspectFit wcaling 或其他? 【参考方案1】:

我可以通过以下步骤自己解决这个问题:

    将我的故事板视图切换到 iPhone SE 将 UIImageView 设置为“大于或等于”值:275 将 UIImageView 的宽高比设置为 1:1

以图片为例:

【讨论】:

以上是关于UITableViewAutomaticDimension 未正确调整 UIIImageView 的大小的主要内容,如果未能解决你的问题,请参考以下文章