簡體   English   中英

我可以自定義 UICollectionView 的重用嗎?

[英]Can I customize the reuse of UICollectionView?

我將使用 UICollectionView 創建一個輪播。 我希望 UICollectionView 邊界之外的單元格是可見的。

所以我添加了這段代碼,因為我認為這是一個簡單的問題。

collectionView.isPagingEnabled = true
collectionView.clipsToBounds = false

但是,當然,邊界外的一些單元格被重用隱藏了。

無論如何要使用 UICollectionView 而不重用,或者調整重用范圍,或...等?

提前致謝。

是的,您實際上可以在不重用的情況下使用 UICollectionView。

在 collectionview 的數據源函數中:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 

而不是使用

let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CollectionViewCell", forIndexPath: indexPath) as! CollectionViewCell

並返回單元格,您可以在不調用collectionView的出隊函數的情況下創建自己的單元格並返回這個新創建的單元格

這樣做的缺點是每次您的 collectionview 需要一個新單元格時,它都會創建一個新單元格而不是重用您已有的單元格,從而導致加班增加內存占用單元格

為了解決這個問題,您可以安排一個數組來跟蹤要在哪個索引上使用哪個單元格,並從此數組中獲取單元格(如果可用)或在它不可用時創建一個單元格並將其附加到數組中

暫無
暫無

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

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