heightForRowatIndexPath不设置单元格高度

时间:2012-08-10 17:14:43

标签: ios uitableview heightforrowatindexpath

我正在尝试创建一个包含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;
}

2 个答案:

答案 0 :(得分:2)

您已宣布tableView:heightForRowAtIndexPath:返回NSInteger

那应该是CGFloat

答案 1 :(得分:1)

只是为了增加行的高度。只需在indexpath写一个行高度的方法就可以了。

if (indexpath.section== 0)

  return 50;