2013-05-21 48 views
0

我有很多單元格,其中包含幾個可調整大小的UITextViews。我想讓dataSource在每次cellForRowAtIndexPath調用之前調用heightForRowAtIndexPath,不僅在表重新加載數據時。在這種情況下,我可以在重新加載時返回假高度,並且在更新時我不需要重新繪製所有textView(當我需要重繪時,性能非常低,可以說1000個textViews),但只要及時,這些textView是真正需要的。如何使UITableViewDataSource在每個cellForRowAtIndexPath調用之前詢問單元格高度?

回答

0

使用功能:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

在控制器

0

是與UITableViewDelegate做它實現tableView:heightForRowAtIndexPath:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath 
{ 
    if (indexPath.row == 1) { 
    return 90; 
    } 
    else{ 
    return 45; 
    } 
} 
+0

如果我的textViews不會調整大小,這將是很好的選擇,但在我的情況下,如果我在一個單元格中更改了textView寬度,我需要使用所有單元格textviews來做這件事,因爲它應該像列一樣工作。所以在這個方法中,我想返回假身高值(然後我不需要爲不可見的單元格計算單元格高度),並在調用cellForRowAtIndexPath之前向高度要求dataSource,然後返回真計數值。 – Povilas

+0

正如我所理解的,你可以爲'Max Height'製作兩個'int變量',爲'Min Height'製作第二個'並且檢查它是否按照單元格索引或數組索引來描述? – Buntylm

+0

你解決了你的問題嗎? – Buntylm

相關問題