Bläddra i källkod

相册列表展示完成,角标 完成

南鑫林 5 år sedan
förälder
incheckning
0d606d7313

+ 24 - 17
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishMediaPicker/Controller/KSMediaPickerController.swift

@@ -265,22 +265,14 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
         }
         
         var selCount: UInt = 0
-//        var maxCount: UInt = 0
-//        let assetMediaType = itemModel.asset.mediaType
-//        if assetMediaType == .video {
-//            maxCount = 1
-//        } else if assetMediaType == .image {
-//            maxCount = maxPictureItemCount
-//        }
-        
         if itemModel.index > 0 {
             selCount = _remove(itemModel: itemModel)
             curSelectCount -= 1
         } else {
             selCount = _add(itemModel: itemModel)
-            curSelectCount = selCount
+            curSelectCount = UInt(_selectedAssetArray.count)
         }
-        
+        (view as! KSMediaPickerView).albumTableView.reloadRows(at: [IndexPath(row: 0, section: 0)], with: UITableView.RowAnimation.none)
 //        updateFinishBtnStatus(curSelectCount, maxCount)
         
         return selCount
@@ -483,13 +475,6 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
             }
         }
         
-        if _selectedAssetArray.count > 0 {
-            for itemModel1 in _selectedAssetArray {
-                if itemModel?.asset.localIdentifier == (itemModel1 as! KSMediaPickerItemModel).asset.localIdentifier {
-                    itemModel = itemModel1 as? KSMediaPickerItemModel
-                }
-            }
-        }
         if _currentSingleType != nil {
             if _currentSingleType == .video {
                 if itemModel?.asset.mediaType == .video {
@@ -505,6 +490,26 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
                 }
             }
         }
+        
+        if _selectedAssetArray.count > 0 {
+            for itemModel1 in _selectedAssetArray {
+                if itemModel?.asset.localIdentifier == (itemModel1 as! KSMediaPickerItemModel).asset.localIdentifier {
+                    itemModel = itemModel1 as? KSMediaPickerItemModel
+                }else {
+                    if _currentSingleType == .video {
+                        if _selectedAssetArray.count == 1 {
+                            itemModel?.isLoseFocus = true
+                        }
+                    }else if _currentSingleType == .picture {
+                        if _selectedAssetArray.count == 9 {
+                            itemModel?.isLoseFocus = true
+                        }
+                    }
+                    
+                }
+            }
+        }
+        
         cell.itemModel = itemModel
         
         return cell
@@ -675,6 +680,8 @@ extension KSMediaPickerController : UITableViewDelegate, UITableViewDataSource {
             cell = KSMediaPickerViewAlbumCell(style: .subtitle, reuseIdentifier: iden)
         }
         cell?.albumModel = _albumList?[indexPath.row]
+        cell?.indexPath = indexPath
+        cell?.count = Int(self.curSelectCount)
         return cell!
     }
     

+ 28 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishMediaPicker/View/KSMediaPickerViewAlbumCell.swift

@@ -23,10 +23,28 @@ open class KSMediaPickerViewAlbumCell: UITableViewCell {
         }
     }
     
+    var count : Int = 0 {
+        didSet {
+            if indexPath?.row == 0 {
+                if count == 0 {
+                    bgView.pp.hiddenBadge()
+                }else {
+                    bgView.pp.moveBadge(x: -5, y: 5)
+                    bgView.pp.addBadge(number: count)
+                }
+            }else {
+                bgView.pp.hiddenBadge()
+            }
+        }
+    }
+    
+    var indexPath: IndexPath?
+    
     override public init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
         super.init(style: style, reuseIdentifier: reuseIdentifier)
         self.selectionStyle = .none
         addSubview(iconimageView)
+        addSubview(bgView)
         addSubview(titleLabel)
         addSubview(detailTitleLabel)
         addSubview(lineView)
@@ -35,6 +53,11 @@ open class KSMediaPickerViewAlbumCell: UITableViewCell {
             make.size.equalTo(60)
             make.left.equalTo(14)
         }
+        bgView.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.size.equalTo(60)
+            make.left.equalTo(14)
+        }
         titleLabel.snp.makeConstraints { (make) in
             make.centerY.equalToSuperview()
             make.left.equalTo(iconimageView.snp.right).offset(15)
@@ -61,6 +84,11 @@ open class KSMediaPickerViewAlbumCell: UITableViewCell {
         return iconimageView
     }()
     
+    lazy var bgView: UIView = {
+        let bgView = UIView()
+        return bgView
+    }()
+    
     lazy var titleLabel: UILabel = {
         let titleLabel = UILabel()
         titleLabel.textColor = k333333Color