ios – 如何从NIB读取UITableViewCell(子类)的高度?

我有一个在NIB中定义的UITableViewCell(实际上是一个子类).在NIB中我将帧高设置为183,我还将“行高”设置为183并勾选自定义.

在我原来的问题中,这里的一切都出了问题.看起来我的背高度错了,细胞装在错误的高度,然后调整到合适的高度,造成一个令人讨厌的视觉故障.

实际上我做了一些愚蠢的事情(并且总是返回错误的高度),而且我已经太晚了才能弄清楚,所以我请求帮忙然后去睡觉.睡眠(咖啡)使一切都清晰.

因此,对于记录,如果从NIB加载自定义UITableViewCell,您可以查看frame.size.height并返回正确的数字.

如果你从tableView返回错误的数字:heightForRowAtIndexPath:你可以得到这个小故障,至少如果错误的单元格是表格中的最后一个(我预计问题将以另一种方式表现给其他单元格)

所以我已经解决了我自己的问题,并希望为其他任何人提供足够的信息.如果有人认为这应该有正式答案,请放心,我计划在一天或三天内接受最好看的一个.

解决方法

第一个被调用的UITableViewDelegate方法是heightForRowAtIndexPath而不是UITableViewDataSource方法,cellForRowAtIndexPath.

您只能在cellForRowAtIndexPath中获取自定义单元格高度,您可以在其中为该单元格分配init.因此,它不会考虑自定义单元格高度.

它将采用heightForRowAtIndexPath方法中提到的单元格的高度.因为它首先被调用.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...