我在collectionviewCell中选择all时遇到问题

时间:2016-07-18 21:34:51

标签: swift uicollectionview

我有按钮这个按钮是选择集合中的所有单元格它是否正常工作但问题是当我选择所有单元格时需要大量内存我不知道为什么请告诉我如何在collectionView中选择所有单元格记忆巨大

以下我的代码:

func selectAllCells(){

                 var i = 0
                 while i < self.collectionView.numberOfItemsInSection(0) {
                // her i get the index path
                let indexPath = NSIndexPath(forItem: i, inSection: 0)
                self.collectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .Bottom, animated: false)

                self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
                self.collectionView.reloadItemsAtIndexPaths([indexPath])
                self.dictionaryOfSelectItem.updateValue(i, forKey: i)
                let cell = self.collectionView.cellForItemAtIndexPath(indexPath) as! AlbumImagesCollectionViewCell
                cell.imageViewCheck.hidden = false
                self.dictionaryOfSelectItem.updateValue(i, forKey: i)

                i = i + 1

                }

                self.moveOutlet.enabled = true
                self.exportOutlet.enabled = true
                self.deleteOutlet.enabled = true


}

感谢提前

1 个答案:

答案 0 :(得分:1)

在viewDidLoad()

之前的某个地方创建一个名为selectAll的全局变量

在selectAll()函数中,将刚刚创建的变量设置为true。

self.selectAll = true;
//Now call your reload function for your collectionView. 
self.collectionView.reloadData

现在在你的cellForItemAtIndexPath:

   if selectAll {
        cell.selected = true;
} else {
        cell.selected = false;
}

当用户取消选择“全选”按钮或执行其他操作时,请将selectAll设置为 false 并再次重新加载数据。

如果您希望在选中所有单元格后对其执行任何操作,请在cellForItemAtIndexPath函数中执行此操作。