Skip to content

Commit 3ac3cd0

Browse files
committed
feat: done handle doneButton
1 parent da4a51d commit 3ac3cd0

File tree

1 file changed

+26
-10
lines changed

1 file changed

+26
-10
lines changed

ios/CustomPhotoPicker/CustomPhotoPickerViewController.swift

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,31 +113,47 @@ class CustomPhotoPickerViewController: TLPhotosPickerViewController, ViewerContr
113113
}
114114
}
115115

116-
extension CustomPhotoPickerViewController: PreviewHeaderViewDelegate, PreviewFooterViewDelegate {
116+
extension CustomPhotoPickerViewController: PreviewHeaderViewDelegate {
117117
func headerView(_: PreviewHeaderView, didPressClearButton _: UIButton) {
118118
self.viewerController?.dismiss(nil)
119119
}
120120

121121
func headerView(_: PreviewHeaderView, didPressDoneButton _: UIButton) {
122122
DispatchQueue.main.async {
123123
self.viewerController?.dismiss {
124-
if config.singleSelectedMode {
125-
DispatchQueue.main.async {
126-
if let indexPath = self.viewerController?.currentIndexPath {
127-
guard let cell = self.collectionView.cellForItem(at: indexPath) as? TLPhotoCollectionViewCell, let localID = cell.asset?.localIdentifier else { return }
124+
if config.singleSelectedMode || (self.selectedAssets.count == 0) {
125+
guard
126+
let indexPath = self.viewerController?.currentIndexPath,
128127

129-
guard let asset = TLPHAsset.asset(with: localID) else { return }
128+
let cell = self.collectionView.cellForItem(at: indexPath) as? TLPhotoCollectionViewCell,
130129

131-
self.dismissPhotoPicker!([asset])
132-
}
130+
let localID = cell.asset?.localIdentifier,
131+
132+
var asset = TLPHAsset.asset(with: localID),
133+
134+
let phAsset = asset.phAsset,
135+
136+
self.canSelect(phAsset: phAsset)
137+
138+
else { return }
139+
140+
self.logDelegate?.selectedPhoto(picker: self, at: indexPath.row)
141+
142+
asset.selectedOrder = 1
143+
if !config.singleSelectedMode {
144+
cell.selectedAsset = true
145+
cell.orderLabel?.text = "\(asset.selectedOrder)"
133146
}
134-
} else {
135-
self.dismissPhotoPicker!(self.selectedAssets)
147+
148+
self.selectedAssets = [asset]
136149
}
150+
self.dismissPhotoPicker!(self.selectedAssets)
137151
}
138152
}
139153
}
154+
}
140155

156+
extension CustomPhotoPickerViewController: PreviewFooterViewDelegate {
141157
private func canSelect(phAsset: PHAsset) -> Bool {
142158
if let closure = self.canSelectAsset {
143159
return closure(phAsset)

0 commit comments

Comments
 (0)