我正在尝试创建一个包含 3 组的分组表视图,每个组都有不同高度的单元格。我在情节提要中设置了 3 个具有适当高度的原型单元格,并将 UITableViewController 设置为每行返回适当的高度。但是,由于某种原因,我的所有单元格在屏幕上出现时只有 1 像素高。
我已经逐步完成了代码,并为每一行返回了正确的高度和单元格。我还验证了每个单元格的帧在返回之前是否正确。但是,调用rectForRowAtIndexPath
显示每行的rect
只有 1 个像素高。
当使用恒定的单元格高度时,这个问题完全消失了。在这种情况下,单元格可以完美显示,其中一些单元格太短/太高,因为它们应该是可变高度的。
知道这里发生了什么吗?我想了解一下使用 heightForRowAtIndexPath
时如何确定每行的矩形。
高度代码ForRowAtIndexPath:
- (NSInteger)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (indexPath.section) {
case 0:
return 80.0;
break;
case 1:
return 260.0;
break;
case 2:
return 110.0;
break;
case 3:
return 114.0;
break;
default:
break;
}
return 0;
}
您已声明tableView:heightForRowAtIndexPath:
返回NSInteger
。
那应该是CGFloat
.
只是为了增加行的高度.只需简单地编写索引路径处行的高度方法
if (indexpath.section== 0)
return 50;