我有一個UITableView,其中的行可以動態更新它們的高度。我有以下的方法作爲一個UITextView在UITableView中的每個單元的委託:UITableView和heightForRowAtIndexPath的偶爾問題
-(void)textViewDidChange:(UITextView *)textView
{
[self resizeRow];
[self setNeedsDisplay];
[table beginUpdates];
[table endUpdates];
}
這種方法工作正常更新表視圖行高爲文字添加到文字視圖。當我更新單元格中的UIImageView以增加其大小時,會出現問題。這需要調整表格中單元格的高度,該表格的高度可以正常工作,但從此時起,只要調用了該塊,表格視圖的heightForRowAtIndexPath
就不再被調用。我沒有收到任何錯誤或警告,也不知道代碼中的其他位置。我的問題是,heightForRowAtIndexPath
應該在調用[table begineUpdates]
[table endUpdates]
塊時總是被調用,或者有沒有發生這種情況,如果是的話,它們是什麼?
我也有過這樣的問題,但每當顯示tableView時會調用heightForRowAtIndexPath,begin和endUpdates是否會觸發cellForRowAtIndexPath或indexPathsForVisibleRows委託方法? – 2013-04-09 12:52:17