如何将UITableView静态单元格设置为自定义高度?

时间:2012-06-23 20:42:39

标签: ios xcode uitableview row-height

我有一个带有静态单元格的UITableView,我正在尝试在满足条件时更改单元格的高度。条件正在满足,但细胞高度不会改变。

我正在使用的代码是

[self.tableView setRowHeight:10];

self.tableView rowHeight = 10;

这些都不会改变单元格的行高 还有其他方法可以改变它们吗?

3 个答案:

答案 0 :(得分:18)

您需要在tableview的.m:

中实现以下委托方法
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return customTableCellHeight;
}

然后更改customTableCellHeight的值:

if (condition) {
    customTableCellHeight = 80; // or whatever
}

当您需要更改表格单元格高度时(例如,当条件发生变化时,您需要调用

 [self.tableView reloadData]; //This calls heightForRowAtIndexPath for all cells

答案 1 :(得分:0)

你可以将它用于tableview的所有行

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
      return 100
    }

答案 2 :(得分:0)

您可以使用文本高度创建动态单元格,然后可以在表格视图中设置静态和动态单元格

这是带有文本的动态单元格的链接 How to change cell height dynamically in UITableView static cell