[英]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.