gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 03:28:36 25 4
gpt4 key购买 nike

我在 NIB 中定义了一个 UITableViewCell(实际上是一个子类)。在 NIB 中,我将框架高度设置为 183,我还将“行高”设置为 183 并勾选了自定义。

在我最初的问题中,这里的东西都出错了。看起来我得到了一个错误的高度,单元格以错误的高度加载,后来调整到正确的高度,造成令人讨厌的视觉故障。

实际上我在做一些愚蠢的事情(并且总是返回错误的高度),而且我想明白的时候已经很晚了,所以我向 SO 寻求帮助然后去 sleep 了。 sleep (+咖啡)让一切变得清晰。

郑重声明,如果您从 NIB 加载自定义 UITableViewCell,您可以查看 frame.size.height 并返回正确的数字。

如果您从 tableView:heightForRowAtIndexPath: 返回错误的数字,您可能会遇到此故障,至少如果错误的单元格是表中的最后一个单元格(我希望问题会以另一种方式体现对于其他细胞)

所以我已经解决了我自己的问题,并希望为遇到此问题的其他人留下足够的信息。如果有人认为这应该有一个官方答案,请放心,我计划在一天或三天内接受最好看的答案。

最佳答案

您可以使用此示例代码从 NIB 获取单元格高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{
return [[[[NSBundle mainBundle] loadNibNamed:@"ELConvCurListViewCell" owner:self options:nil] objectAtIndex:0] bounds].size.height;
}

更新:您可以在 viewDidLoad 中为 cellHeight 变量和在 heightForRowAtIndexPath 中一次获取并分配 NIB 的高度 使用 return cellHeight

关于ios - 如何从 NIB 读取 UITableViewCell(子类)的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8224215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com