如何更改分组tableViewCell的高度?

时间:2011-04-26 01:37:55

标签: iphone uitableview row-height

我正在尝试将地址显示为iPhone的“联系人”应用中显示的地址。所以我似乎需要一个高度是常规细胞三倍的细胞。因为它总是相同的我只需要在代码中应用固定的高度。但我不知道该怎么做。我目前的代码是

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

    NSString *address = [NSString stringWithFormat:@"%@\n"@"%@ %@ %@\n"@"%@", dispAddress, dispCity, dispState, dispZip, dispCountry];
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease];
    }


    // Configure the cell...

        cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
        cell.detailTextLabel.numberOfLines = 3; // 0 means no max.
        cell.detailTextLabel.text = address;

    return cell;
}

1 个答案:

答案 0 :(得分:4)

要将所有单元格设置为相同的固定高度,请在viewDidLoad或其他适当的位置执行:

self.tableView.rowHeight = 100;

要根据索引路径将单元格设置为不同的高度,请使用heightForRowAtIndexPath委托方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ((indexPath.section == 0) && (indexPath.row == 0))
        return 100;
    else
        return 44;
}