Browse Source

MediaEditCell: fix correct selected state

the cell was showing the empty state for selected and selected for unselected,
when the cell was reused it didn't correct show the selected state when scrolling up as well
Carola Nitz 6 years ago
parent
commit
7d7e41ab4d
2 changed files with 4 additions and 2 deletions
  1. 2 1
      Sources/MediaEditCell.swift
  2. 2 1
      Sources/VLCEditController.swift

+ 2 - 1
Sources/MediaEditCell.swift

@@ -55,7 +55,7 @@ class MediaEditCell: BaseCollectionViewCell {
 
 
     var isChecked: Bool = false {
     var isChecked: Bool = false {
          didSet {
          didSet {
-            checkboxImageView.image = isChecked ? UIImage(named: "checkboxEmpty") : UIImage(named: "checkboxSelected")
+            checkboxImageView.image = isChecked ? UIImage(named: "checkboxSelected") : UIImage(named: "checkboxEmpty")
         }
         }
     }
     }
 
 
@@ -65,5 +65,6 @@ class MediaEditCell: BaseCollectionViewCell {
         timeLabel.text = ""
         timeLabel.text = ""
         sizeLabel.text = ""
         sizeLabel.text = ""
         thumbnailImageView.image = nil
         thumbnailImageView.image = nil
+        isChecked = false
     }
     }
 }
 }

+ 2 - 1
Sources/VLCEditController.swift

@@ -192,8 +192,9 @@ extension VLCEditController: UICollectionViewDataSource {
 
 
     func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
     func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
         if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: category.editCellType.defaultReuseIdentifier,
         if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: category.editCellType.defaultReuseIdentifier,
-                                                         for: indexPath) as? BaseCollectionViewCell {
+                                                         for: indexPath) as? MediaEditCell {
             cell.media = category.anyfiles[indexPath.row]
             cell.media = category.anyfiles[indexPath.row]
+            cell.isChecked = selectedCellIndexPaths.contains(indexPath)
             return cell
             return cell
         }
         }
         return UICollectionViewCell()
         return UICollectionViewCell()