gpt4 book ai didi

iOS - 重新加载 UITableView 以修复单元格标签高度

转载 作者:行者123 更新时间:2023-11-29 03:39:08 25 4
gpt4 key购买 nike

嗯,这听起来很奇怪,过去 3 个小时我一直在尝试修复它。我有一个带有自定义单元格的表格 View ,其中包含两个标签。标签高度是变量,并使用 sizeWithFont:constrainedToSize:lineBreakMode 方法计算。

cell = [tableView dequeueReusableCellWithIdentifier:sCellIdentifier];

cell.selectionStyle = UITableViewCellSelectionStyleNone;

cell.tariffPlanCellContentView.cellPrefixLabel.text = [NSString stringWithFormat:sPrefixStringWithColon, [self getPrefixStringAtIndexPath:indexPath]];
cell.tariffPlanCellContentView.cellPrefixLabel.textAlignment = UITextAlignmentLeft;
cell.tariffPlanCellContentView.cellPrefixLabel.frame = CGRectMake(cell.tariffPlanCellContentView.cellPrefixLabel.frame.origin.x,
cell.tariffPlanCellContentView.cellPrefixLabel.frame.origin.y,
kTableViewCellLabelWidth,
[self getSizeForPrefixStringAtIndexPath:indexPath].height);

cell.tariffPlanCellContentView.cellDetailsLabel.text = [self getDetailStringAtIndexPath:indexPath];
cell.tariffPlanCellContentView.cellDetailsLabel.frame = CGRectMake(cell.tariffPlanCellContentView.cellDetailsLabel.frame.origin.x,
cell.tariffPlanCellContentView.cellPrefixLabel.frame.origin.y + cell.tariffPlanCellContentView.cellPrefixLabel.frame.size.height + 3,
kTableViewCellLabelWidth,
[self getSizeForDetailsStringAtIndexPath:indexPath].height);

[cell.tariffPlanCellContentView.cellPrefixLabel sizeToFit];
[cell.tariffPlanCellContentView.cellDetailsLabel sizeToFit];

第一次加载 TableView 时,所有单元格仅显示一行。仅当我滚动 TableView (或以编程方式“再次”重新加载 TableView )时,标签才会被修复!我不知道它为什么要这样做? cellPrefixLabelcellDetailsLabel 位于从 nib 加载的自定义单元格内。两者都有 numberOfLines = 0

更新

  1. 我没有使用自动布局,我仍然支持 iOS 5。
  2. 该应用程序在 iOS 6 上运行良好,该错误仅在 iOS 7 beta 6 上出现!是因为测试版的原因吗?有人遇到过这样的事情吗?
  3. 我删除了 sizeToFit 并且存在同样的问题。事实上,sizeToFit 根本没有帮助,而且 iOS 6 上也不需要它。

最佳答案

将所有添加 UITableviewcell 的代码移至委托(delegate)方法并试一试

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

关于iOS - 重新加载 UITableView 以修复单元格标签高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18705385/

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