2014-02-25 30 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上述函數計算的大小。

相關問題