我正在尝试创建一个带有3个组的分组表格视图,并且每个组都有不同高度的单元格。我在Storyboard中设置了3个具有适当高度的原型单元,并设置了我的UITableViewController来为每一行返回适当的高度。然而,由于某些原因,我的所有细胞在屏幕上出现时只有1个像素高。heightForRowatIndexPath不设置单元格高度
我已经通过了代码,每行返回正确的高度和单元格。我还验证了每个单元格的框架在返回之前是正确的。然而,调用rectForRowAtIndexPath
显示,每行的rect
只有1个像素高。
当使用恒定的单元高度时,此问题完全消失。在这种情况下,细胞完美展现,其中一些细胞太短/高,因为它们应该是可变的高度。
任何想法发生了什么?我想深入了解在使用heightForRowAtIndexPath
时如何确定每行的矩形。
代码heightForRowAtIndexPath:
- (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;
}
你可以发布你的'heightForRowAtIndexPath'代码吗? – 2012-08-10 17:16:46
发布你的代码没有,我们不会亚伯来帮助。 – AAV 2012-08-10 17:41:26
刚刚添加我的代码。注意我也尝试过只返回一个单一的数字,这导致了同样的问题。例如,如果我将rowHeight设置为55,一切正常,但如果我从heightForRowAtIndexPath返回55,则所有单元格都是1像素高。 – 2012-08-10 18:10:45