|
@@ -46,6 +46,8 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
|
|
|
@objc public let mediaType: KSMediaPickerController.mediaType
|
|
|
@objc open weak var delegate: KSMediaPickerControllerDelegate?
|
|
|
|
|
|
+ var curSelectCount: UInt = 0
|
|
|
+
|
|
|
/// 限制单一媒体类型混合显示构造函数,此函数为指定初始化器
|
|
|
///
|
|
|
/// - Parameters:
|
|
@@ -198,13 +200,36 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
|
|
|
_updateHighlightItem(at: indexPath!)
|
|
|
}
|
|
|
|
|
|
+ var selCount: UInt = 0
|
|
|
+ var maxCount: UInt = 0
|
|
|
+ let assetMediaType = itemModel.asset.mediaType
|
|
|
+ if assetMediaType == .video {
|
|
|
+ maxCount = 1
|
|
|
+ } else if assetMediaType == .image {
|
|
|
+ maxCount = 9
|
|
|
+ }
|
|
|
+
|
|
|
if itemModel.index > 0 {
|
|
|
- return _remove(itemModel: itemModel)
|
|
|
+ selCount = _remove(itemModel: itemModel)
|
|
|
+ curSelectCount -= 1
|
|
|
} else {
|
|
|
- return _add(itemModel: itemModel)
|
|
|
+ selCount = _add(itemModel: itemModel)
|
|
|
+ curSelectCount = selCount
|
|
|
}
|
|
|
+
|
|
|
+ updateFinishBtnStatus(curSelectCount, maxCount)
|
|
|
+
|
|
|
+ return selCount
|
|
|
}
|
|
|
|
|
|
+ // 更新
|
|
|
+ func updateFinishBtnStatus(_ selCount: UInt, _ maxCount: UInt) {
|
|
|
+ let showMaxCount = selCount == 0 ? 0 : maxCount
|
|
|
+
|
|
|
+ let view = self.view as! KSMediaPickerView
|
|
|
+ let nav = view.albumNavigationView
|
|
|
+ nav.nextButton.setTitle("完成(\(selCount)/\(showMaxCount))", for: .normal)
|
|
|
+ }
|
|
|
|
|
|
private func _update(asset: PHAsset) {
|
|
|
_updateHighlightedItemStatus()
|