簡體   English   中英

UITableView和UICollectionView

[英]UITableView with UICollectionView

我有一個UITableView,其中tableview的每一行都有uicollectionview數據。 我面臨的問題是UITableView大約有800-1000行,然后每行幾乎有uicollectionview單元大約200-400。

當我開始滾動uicollectionview和/或uitableview時,它變慢,有時由於內存警告而崩潰。

我理解這個原因是因為數據量大。 但是我想知道最好的方法,我如何可以動態地加載和卸載數據,以便它永遠不會出現內存錯誤並且永遠不會變慢。

請提出建議。

謝謝

也許只有在不滾動表格時才可以僅加載顯示的單元格的數據,並防止在滾動表格時加載單元格的數據。 (檢查滾動視圖委托函數,它可能會為您提供表格的滾動和減速指示)。

我絕對會建議對放在表內的UITableView和UICollectionViews使用分頁。
好的做法是僅預載10-20個元素。 如果用戶滾動到列表的末尾,則應用會加載下一頁(10-20個元素)。

在您的情況下,將分兩種類型的分頁:
1. UITableView的垂直分頁。
當用戶向下滾動到表列表的末尾時,應用程序將加載下10個表單元格的數據。 每個單元將加載單元內部的10個項目的數據以進行收集視圖。
2. UICollectionView的水平分頁。 當用戶向右滾動到收藏夾列表的末尾時,應用程序將加載下10個收藏夾單元的數據。

在大多數情況下,用戶不會加載很多頁面,因此動畫會很流暢,並且不會崩潰。
對於較少的情況,當用戶仍然在上下左右加載數百行時,可以在視圖控制器中實現方法- (void)didReceiveMemoryWarning 通過這種方法,您可以釋放與屏幕上當前未顯示的單元格相關的大量數據(圖像,視頻)。

暫無
暫無

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

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