增加UITableView,Xcode的行高

时间:2015-07-16 08:57:52

标签: ios objective-c xcode uitableview

我在单元格中有标签,当我点击一个单元格时,我希望单元格增加与标签大小一样多。目前我的代码将单元格调整为240。

我的标签:

UILabel *cellLabel3 = (UILabel *)[cell viewWithTag:5];
[cellLabel3 setText:[Data objectAtIndex:self.expandedIndexPath.row]];

细胞高度代码:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([indexPath compare:self.expandedIndexPath] == NSOrderedSame) {
        return 240;
    }
    return 90.0;
}

2 个答案:

答案 0 :(得分:0)

试试这个:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    self.expandedIndexPath = indexPath;
    [self.tableView reloadData];
}

答案 1 :(得分:0)

这个问题已经回答了但仍然发布了答案,

从方法

计算文本的高度
CGSize maximumSize = CGSizeMake(kLabelWidth, CGFLOAT_MAX);
CGSize size = [text sizeWithFont:font
               constrainedToSize:maximumLabelSize
               lineBreakMode:UILineBreakModeWordWrap];

将kLabelWidth替换为标签宽度&带有标签字体的字体 并从heightForRowAtIndexPath返回size.height