以编程方式为单个UITableViewCell设置高度?

时间:2012-03-22 14:07:57

标签: iphone objective-c uitableview

我需要以编程方式在UITableView中设置单个UITableViewCell的高度。我怎么能这样做?

我需要这个单元格高150像素,其他所有单元格都可以保持默认的44像素高度。

感谢。

4 个答案:

答案 0 :(得分:46)

UITableViewCell高度有一个委托函数。

在这里指定特定单元格的indexPath并返回它的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if(indexPath.section == yourSection && indexPath.row == yourRow) {
        return 150.0;
    }
    // "Else"
    return someDefaultHeight;
}

答案 1 :(得分:7)

你必须知道,或弄清楚你想要哪个细胞指数更高。 让我们说你的第一个细胞。

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

    if (indexPath.row == 0) { //change 0 to whatever cell index you want taller
        return 150;
    }
    else {
        return 44;
    }   
}

答案 2 :(得分:5)

SWIFT ANSWER

heightForRowAtIndexPath方法中指定要更改的部分和行(请记住计数从0开始,而不是1)。

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat{
    if indexPath.section == 0 && indexPath.row == 0{
        return 150
    }
    return 44.0
}

答案 3 :(得分:2)

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

您可以使用此方法为特定索引路径设置单元格的值,并为其他单元格设置默认值。