增加Uitableviewcell高度并打印特定行的数据

时间:2014-02-25 07:14:15

标签: ios iphone uitableview ios7

我有一个UItableview,我有一个customCell用于在UITable中打印数据。

现在,我想在特定单元格中添加更多数据。当我选择单元格时,它应该增加单元格的高度并放置该数据。这怎么可能。?

4 个答案:

答案 0 :(得分:0)

在DidSelect中,将特定选定单元格的高度设置为所需的单元格。

然后重新加载表格。

这很有用:How to programmatically increase UITableView cell's height in iPhone?

答案 1 :(得分:0)

通过更改行的参数调用重新加载表数据,并在添加数据后查找单元格的高度:

CGSize size=[youstring sizeWithFont:yourlabel.font constrainedToSize:labelfontsize lineBreakMode:lineBreakmodestyle];

从size.height获取高度,并在重新加载heightForRowAtIndexPath时以tableview方法返回高度。

答案 2 :(得分:0)

您应该做的是首先计算您必须增加单元格高度的内容的大小

//Suppose here is your string which you want to show
-(float) calculateHeight:(NSString *)dataStr
{

    CGSize size = [dataStr sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17] constrainedToSize:CGSizeMake(280, 999) lineBreakMode:UILineBreakModeWordWrap];
    NSLog(@"%f",size.height);
    return size.height + 10;
}

此Above函数将根据文本大小返回高度。

现在只需在

上调用此函数即可
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}

删除并重新加载表格视图,并使用heightForRowAtIndexPath delegete上的上述函数给出您计算的大小。

答案 3 :(得分:0)

如果我理解了您想要的内容,请尝试此示例:https://github.com/Dmitriy837/changeTableRowHeighWhenTaped

我建议你继承UITableView并支持其中包含单元格高度的附加属性,并在录制时更改单元格的高度。