- (CGFloat)heightForCell:(NSIndexPath *)indexPath {
NSString *content = [_contents objectAtIndex:indexPath.section];
CGSize constraint = CGSizeMake(DIARY_CELLLABEL_WIDTH, CGFLOAT_MAX);
CGSize size = [content boundingRectWithSize:constraint options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:DIARY_CELLLABEL_FONT} context:nil].size;
return 50 + size.height;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return [self heightForCell:indexPath];
}
再在cellForRow方法中
if (_contents && _contents.count > 0) {
cell.contentLabel.text = _contents[indexPath.section];
cell.contentLabel.frame = CGRectMake(DIARY_CELLLABEL_MARGIN, 17, DIARY_CELLLABEL_WIDTH, [self heightForCell:indexPath]);
}
就OK啦