heightForRowAtIndexPath行索引与cellForRowAtIndexPath行索引不匹配

时间:2012-03-20 12:31:50

标签: ios

解决: 我已经想到了这一点,对不起 - 我的愚蠢错误。基本上我的表没有分隔符,我的每个单元格底部都有自定义边框。这个边界没有在较高的细胞中正确地重新定位,使细胞看起来更高。很明显,一旦我选择了一个单元格,就会出现选择背景。

我有一个有趣的问题,希望是一个明显的解决方案或解释。

我有一个UITableView应该有10行相等的高度,但第一个单元格应该略高于其他单元格。

我有以下代码:

-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView {

    return 1;
}


-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {

    return 10;
}


-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {    

    return indexPath.row == 0 ? defaultCellHeight + 20 : defaultCellHeight;
}


-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {

    switch(indexPath.row) {
            case 0:
                    //text = First Row Text
                break;
            default:
                    //text = something else
                break;
    }

    //return some sort of cell here
}

现在我看到的问题是第二排比其他排高,而不是第一排,正如我所料。任何想法为什么会这样?

我认为这与第一行被认为是标题或其他东西有关,但无法找到解决方法。随后的指数也比我预期的要低1个。

1 个答案:

答案 0 :(得分:0)

尝试:

 -(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {    

if ([indexPath row] == 0)
return defaultCellHeight + 20
else
return defaultCellHeight

 }

测试出来并为我工作