Przeglądaj źródła

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 lat temu
rodzic
commit
7d7e41ab4d
2 zmienionych plików z 4 dodań i 2 usunięć
  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 {
          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 = ""
         sizeLabel.text = ""
         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 {
         if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: category.editCellType.defaultReuseIdentifier,
-                                                         for: indexPath) as? BaseCollectionViewCell {
+                                                         for: indexPath) as? MediaEditCell {
             cell.media = category.anyfiles[indexPath.row]
+            cell.isChecked = selectedCellIndexPaths.contains(indexPath)
             return cell
         }
         return UICollectionViewCell()