IOS動態獲取cell高度

- (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啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章