我正在尝试创建具有3个组的分组表视图,并且每个组具有不同高度的单元格。我在Storyboard中设置了3个具有适当高度的原型单元,并设置了UITableViewController以返回每行的适当高度。但是由于某种原因,当我的所有单元格出现在屏幕上时,它们的高度都只有1像素。
我已逐步完成代码,并为每行返回了正确的高度和单元格。我还验证了每个单元格的框架在返回之前是正确的。但是,调用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;
}
最佳答案
您已声明tableView:heightForRowAtIndexPath:
返回NSInteger
。
那应该是CGFloat
。
关于ios - heightForRowatIndexPath不设置像元高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11906346/