iOS上的UITableViewCell自动高度不正确

Posted

技术标签:

【中文标题】iOS上的UITableViewCell自动高度不正确【英文标题】:UITableViewCell automatic height incorrect on iOS 【发布时间】:2019-04-26 08:24:42 【问题描述】:

我们都遇到过UITableView,我们希望有不同的单元格高度来动态适应字体大小。现在在我的表格视图中,我有多个具有不同高度的不同单元格。 我使用标准代码来允许估计高度和动态调整大小:

self.tableView.estimatedRowHeight = 450.0
self.tableView.rowHeight = UITableViewAutomaticDimension

现在我的新单元格已使用xib 文件创建,因此我可以检查所有约束是否已正确设置。奇怪的是,当我在 ios 模拟器上运行它时,单元格高度被渲染得太小。

即使我预设了高度约束,我使用什么约束都没有关系,单元格的高度将始终与使用正确自动高度的其他单元格的高度大致相同。 当我想通过在 Xcode 中使用 View Debugger 来调试此问题时,单元格的高度将按照我的需要正确呈现。

以截图为例:

左侧显示视图调试器。大小合适的 iOS 模拟器。 如果我使用像 Reveal 这样的应用程序,也会发生同样的事情。

也许有人遇到了同样的问题,可以帮我解决。

【问题讨论】:

我不认为这是 UITableViewAutomaticDimension 的问题,我认为这是您的约束/锚定问题。显示你对这个锚页面的所有约束。 这绝对是一个约束问题。右侧单元格中的图像比左侧单元格中的图像高。请发布必要的详细信息以供我们调试 【参考方案1】:

我敢打赌你的UIImageView 不会剪辑图像:)

刚刚设置

yourImageView.clipsToBounds = true

应该有帮助

【讨论】:

绝对正确!我在寻找完全错误的方向,并没有看到明显的解决方案。

以上是关于iOS上的UITableViewCell自动高度不正确的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 8 中使用自动 UITableViewCell 高度,如果单元格的内容嵌入在 UIView 中,它是不是可以工作?

UITableViewCell 自动高度问题

IOS 6.0+ Autolayout — UITableViewCell 高度调整

具有动态 UILabel 和内容压缩/阻力的 UITableViewCell 高度不正确

UITableViewCell 自动调整高度不起作用

在Swift中旋转设备时iOS 8 uitableviewcell高度发生变化