2011-03-01 23 views
11

我想重新調整UITableViewCell而不重新加載表視圖。在不重新加載表視圖的情況下,UITableViewCell的高度可以更改嗎?

我的UITableViewCell包含一個UITextView,因此用戶可以輸入可能是幾行(最長約四個)的列表項目。現在,每次用戶按下返回鍵時,我都會調整文本視圖的大小,但我想要更改表視圖單元格以及的高度。

我遇到的主要問題是重新加載表視圖的數據使文本視圖失去焦點。有沒有辦法改變UITableViewCell的高度而不重新加載表視圖,讓用戶繼續在文本視圖中輸入文本?

回答

47

要調整表視圖行,嘗試發送:後

[tableView beginUpdates]; 
[tableView endUpdates]; 

這些消息一出,立即在其他應該做的前提是你有在tableView:heightForRowAtIndexPath:方法細胞正確的高度返回的伎倆。該行應該有動畫。你應該能夠使用它的邊界或者僅僅知道你已經設置了單元格高度的值來返回單元格的高度。

顯然「tableView」是您的表視圖的名稱。

+0

太好了,謝謝。 [另一個線程]也有很多幫助(http://stackoverflow.com/questions/4015557/uitextview-in-a-uitableviewcell-smooth-auto-resize-shows-and-hides-keyboard-on-ip)我通過側邊欄上的相關文章發現,但在發佈此文章之前進行搜索時出現了某種錯誤。 – 2011-03-07 18:56:41

+0

正是我需要的。驚人 ! – user1105951 2012-09-06 01:03:47

+0

偉大的提示!這幫了很多。 – Zdenek 2013-01-13 12:30:53

相關問題