如何更改分组 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 的高度以适应 iOS 6 中的 UIImageVIew
UITableView:单击按钮时如何动态更改单元格高度?迅速