ios - UITableView 自动调整大小行约束在 iPhone 6Plus 上神秘地打破

标签 ios swift uitableview autolayout constraints

我有一个自定义的 UITableViewCell,它有一个缩略图和一堆文本。行高配置为使用

自动计算
tableView.estimatedRowHeight = 129;
tableView.rowHeight = UITableViewAutomaticDimension

行高应精确计算为 138 点。 在 iPhone 5 上一切看起来都很棒。但是,在 iPhone 6 Plus 上,随机行的自动行高间歇性失败,日志如下。

(
    "<NSLayoutConstraint:0x17009ddd0 V:|-(20)-[scoop.ThumbnailImage:0x124d2a5a0]   (Names: '|':UITableViewCellContentView:0x124e23200 )>",
    "<NSLayoutConstraint:0x17009de70 UITableViewCellContentView:0x124e23200.bottomMargin == scoop.ThumbnailImage:0x124d2a5a0.bottom + 20>",
    "<NSLayoutConstraint:0x17009e780 V:[scoop.ThumbnailImage:0x124d2a5a0(90)]>",
    "<NSLayoutConstraint:0x17009ef00 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x124e23200(138.333)]>"
)

日志的最后一行似乎说由于某种原因行高被计算为138.333 而不是138。我一直在敲我的头一段时间,但我无法弄清楚为什么会这样。有人可以帮忙吗?

更新:这是我的表格 View 单元格的样子。

cell

更新 我无法从主仓库中获取代码,因为它是一个更大项目的一部分。但我已经设法用一个非常简单的理智项目重现了这个问题。请在这里找到on github .

最佳答案

此警告告诉您约束中存在冲突。 将高度限制的优先级降低到 999,它就会消失。在您的 Github 项目中对其进行了测试并且运行良好。

enter image description here

关于ios - UITableView 自动调整大小行约束在 iPhone 6Plus 上神秘地打破,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172250/

相关文章:

ios - 如何编写核心数据获取请求谓词以将 NSNumber 作为位图进行比较

ios - 如何在 Objective-C 和 Swift 中等待

iOS 10 自定义导航栏高度

ios - 当按钮是 iOS 中自定义单元格的 subview 时,如何动态更改按钮文本?

ios - CustomTableViewCell 产量为零?

ios - 横向模式下按钮位于屏幕下方

iphone - 如何以编程方式绘制 eclipse 刻线以用作普通 tableview 中的分隔符

ios - 为什么我的 TableView 在 VIPER 中返回 Nil?

objective-c - objective-c : Cell text disappears after scrolling out of screen (and back)

ios - UIScrollview 从 View 到 View 的动画过渡