如何更改分组 tableViewCell 的高度?

Posted

技术标签:

【中文标题】如何更改分组 tableViewCell 的高度?【英文标题】:How to change height of a grouped tableViewCell? 【发布时间】:2011-04-26 01:37:55 【问题描述】:

我正在尝试显示地址,因为它显示在 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】:

要将所有单元格设置为相同的固定高度,在 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;

【讨论】:

非常感谢 Anna,heightForRowAtIndexPath 工作完美。非常感谢。

以上是关于如何更改分组 tableViewCell 的高度?的主要内容,如果未能解决你的问题,请参考以下文章

在 tableViewCell 内动态更改 UIImageView 的宽度和高度

如何使 tableviewcell 高度自动增长

自动调整 TableViewCell 的高度以适应 iOS 6 中的 UIImageVIew

UITableView:单击按钮时如何动态更改单元格高度?迅速

tableViewCell 的高度和宽度在快速滚动时发生变化

无法更改 TableViewCells 的行高 - Swift [重复]