UITableViewCell 如何获取自身高度


如题,我在代码中构建cell,在UITableView的delegate中用heightForRow的delegate方法来确定cell高度。

那么如何在cell中获取这个高度来进行里面的内容的布局呢

uitableviewcell ios uitableview

琉璃色de傲雪 11 years, 7 months ago

 - (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *identifier=@"indentifier";
    UITableViewCell *cell =(UITableViewCell *)([self.tableView dequeueReusableCellWithIdentifier:identifier]);
    return cell.frame.size.height;
}

你可以这样获取到 cell 的实例并返回高度。
也可以直接 return 150.0; 指定高度。

我叫舒书好 answered 11 years, 7 months ago

如果你是用auto layout来布局的话,这样计算高度:


 CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
return size.height + 1.0f; // Add 1.0f for the cell separator height

这里有篇文章可以看看:
http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout

HC夕``彐 answered 11 years, 7 months ago

Your Answer