【发布时间】:2013-09-09 19:20:21
【问题描述】:
嗯,这听起来很奇怪,过去 3 个小时我一直在尝试修复它。我有一个包含两个标签的自定义单元格的表格视图。标签高度是变量,使用方法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];
第一次加载表格视图时,所有单元格仅显示一行。只有当我滚动表格视图(或以编程方式“再次”重新加载表格视图)时,标签才是固定的!我不知道它为什么这样做? cellPrefixLabel 和 cellDetailsLabel 位于从 nib 加载的自定义单元格中。两者都有numberOfLines = 0
更新
- 我没有使用自动布局,我仍然支持 iOS 5。
- 该应用程序在 iOS 6 上运行良好,该错误仅在 iOS 7 beta 6 上!是因为beta版本吗?有没有人面临这样的情况?
- 我删除了 sizeToFit 并且存在同样的问题。事实上,sizeToFit 根本没有帮助,iOS 6 也不需要它。
【问题讨论】:
标签: ios uitableview uilabel