TableView渲染其單元格後所遵循的內部過程是什麼,意思是如果表格視圖具有任意數量的單元格,則表示大約500,那麼這些單元格將如何渲染之前用戶TableView渲染其單元格所遵循的內部過程
0
A
回答
1
單元格一次呈現一個單獨,並且只有當它們需要可見時。一個tableview只包含足夠的單元格來顯示可顯示的內容。沒有其他單元格被渲染。當人們從頂部滾動時,它將被回收並重新用於將要從底部滾動的那個。
根據tableview的大小和單元格的大小,具有500行的表可能永遠不會有超過10-12個單元格在任何給定時間呈現。
0
只有當它在tableView中可見時纔會呈現單元格,並且消失單元格將放入一個容器中,該容器可以重複用於下一個出現的單元格,其格式爲CellIdentifier
。所以只有可見將會在tableView中呈現。並且內存將由單元花費,具體取決於tableview中可見的單元數以及您在cellForRowAtIndexPath
中使用了多少個CellIdentifier
來創建新單元。
以下步驟對細胞的生命週期:
- 呼叫
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- 呼叫
dequeueReusableCellWithIdentifier
在cellForRowAtIndexPath
與CellIdentifier
檢查可重複使用的電池。
如果返回零,您應該創建一個帶有CellIdentifier
的單元格。
如果不是零,您可以重用沒有alloc的單元。單元格將調用prepareForReuse
,您可以重寫自定義單元格中的方法來重置UI。 - 獲取單元對象後,將調用
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
,您可以在顯示單元對象之前對其進行自定義。 - 滾動tableview時,單元格從tableView中消失。該單元格將被放入緩存容器中,並準備好在下一次出現時重新使用,即當
delegate
調用dequeueReusableCellWithIdentifier
時與CellIdentifier
相同。
+0
感謝你們所有人的回答 – user2007454
相關問題
- 1. Alloy:HeaderView無法在TableView內部渲染
- 2. JavaFX TableView自定義單元格渲染分割菜單按鈕
- 3. JTable單元格渲染
- 4. UIActivityIndicatorView內部TableView單元格
- 5. GWT確定單元格渲染過程中的行值
- 6. 蛇體渲染(身體不遵循頭部)
- 7. GXT3網格單元格渲染
- 8. 渲染引擎中的單元格
- 9. JCheckBox的樹單元格渲染器
- 10. 渲染單元格中的double值
- 11. AG-網格單元的渲染誤差
- 12. JTable的通用單元格渲染器
- 13. 渲染具有值的單元格
- 14. dojo/dgrid的TextArea單元格渲染器
- 15. 過濾器與在內部渲染JSON
- 16. DataGridView不渲染隨機單元格
- 17. 自定義單元格渲染JXtreetable
- 18. 單元格渲染器設置列寬
- 19. JTable:複雜單元格渲染器
- 20. JTree單元格渲染器問題
- 21. SWT列表單元格渲染器
- 22. UICollectionView在單元格外渲染圖像
- 23. GTK樹形格渲染文本我使用的是遵循細胞向渲染文本變更後的信號
- 24. 渲染局部內部的局部?
- 25. 從「單元格」渲染器調用gmaps4rails時缺少部分
- 26. 突出顯示特定tableview部分中的所有單元格
- 27. TableView循環遍歷所有單元格以刪除它們,Swift
- 28. 渲染部分UI元素
- 29. 後滾動(SWIFT)部分的tableview單元格的內容消失
- 30. 如何在JTable單元格內渲染JList?
表視圖只呈現當前可見的單元格。 – rmaddy