2014-02-25 28 views
0

我有一个UItableview,我有一个customCell用于打印UITable中的数据。增加Tablview单元格高度并打印特定行的数据

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

+1

请显示你到目前为止尝试过什么..并提出一些更多的细节问题。 –

+0

通过这可能会帮助你http://stackoverflow.com/questions/21396907/how-to-programmatically-increase-uitableview-cells-height-in-iphone/21398263#21398263看到我的答案我发布了一个示例项目 –

+0

@ BhavikKama:我只是从NSDictionary打印自定义单元格中的一些数据。 – Ankit

回答

0

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

并重新载入表格。

这是有帮助的:How to programmatically increase UITableView cell's height in iPhone?

+0

谢谢,但是当我选择单元格时,特定的自定义单元格在tableview中展开并打印数据。 'heightforRowatIndexPath'检查条件是否选择了特定索引。如果选择的高度比正在增加,则会打印默认高度。 – Ankit

+0

你说的很清楚吗? –

+0

我只想在单击单元格时显示数据。 – Ankit

0

呼叫重装表中的数据通过,并找到一个单元格的高度增加数据使用后,改变行的参数:

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

而且从得到高度size.height并返回heightForRowAtIndexPath方法的高度,同时重新加载tableview

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; 
} 

上面这功能会根据您的文字大小返回高度的内容的大小。

现在只需要呼吁

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

} 

delegete此功能并重新加载tableview中,给你在heightForRowAtIndexPath delegete上述函数计算的大小。

相关问题