簡體   English   中英

UITableView動態單元格高度-單行的重新加載高度

[英]UITableView dynamic cell heights - reload height for single row

我有一個帶有動態高度行的UITableView,其中許多行包含UITextViews。 當用戶開始輸入其中一個textview時,我使用Begin / endUpdates方法使單元格增長以容納textview內容的大小。 使用此方法可使單元格調整大小,而不會失去對textview鍵盤的關注,這是我應用程序的重要方面。

但是,當我調用begin / endUpdates時,它將為我擁有的每個單元格重新加載高度,我想知道是否有任何方法可以僅在用戶鍵入時重新計算特定indexPath處的單元格高度。 我之所以要這樣做,是因為其他單元格具有動態內容,因此它們的高度計算起來很昂貴。 我知道我可以編寫一些高度緩存代碼,但是我想知道是否有什么方法可以只重新計算UITableView中特定單元格或單元格的高度,而又不會丟失鍵盤焦點/重新加載該行的數據內容?

我正在使用ios8,但將采用ios7 / 8解決方案。

創建NSIndexPath的數組。 如果只有一個indexPath,請將其添加到數組,然后使用此方法:

 [self.tableView reloadRowsAtIndexPaths:[NSArray *array] withRowAnimation:UITableViewRowAnimationAutomatic];

但是我認為這種方法,也會隱藏鍵盤,從未嘗試過。

似乎不可能僅對一行執行此操作。 我最終為行高構建了一個緩存系統,以便至少更快地返回所有單元格的高度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM