前提・実現したいこと
DKImagePickerControllerを使用し、写真や動画を選択できるように実装している最中です。
写真の複数選択(3枚を上限)をする想定です。
初回の選択は問題なくでき、選択した写真をcollectionViewに表示する部分まではできています。
今回質問したいことは、再度写真の選択をする時に、初回で選択した写真の情報を反映させたいということです。
現状、ボタンをタップすると再選択はできますが、初回に選択した写真のことはなかったこととなっております。
再選択時に選択済みの写真にチェックマークなどをつけわかりやすくしたいです。
DKImagePickerの呼び出し時、選択済みの写真情報を引数として渡して処理するのか?
初回用と2回目以降用でDKImagePickerメソッドを分けるのか?
と予想していますが、イマイチわからず質問いたしました。
よろしくお願いします!
該当のソースコード
@IBAction func imagesAddButton(_ sender: Any) { DK() } func DK(){ let DKpicker = DKImagePickerController() DKpicker.allowsLandscape = true DKpicker.maxSelectableCount = 3 DKpicker.showsCancelButton = true DKpicker.allowMultipleTypes = false DKpicker.UIDelegate = CustomUIDelegate() DKpicker.containsGPSInMetadata = false DKpicker.didSelectAssets = {(assets: [DKAsset]) in self.tryarrty.removeAll() self.selectedCount = assets.count for asset in assets{ if asset.type == .video { print("動画選択") } if asset.type == .photo{ print("写真選択") asset.fetchFullScreenImage(completeBlock: { (image, info) in guard let image = image else { self.selectedCount -= 1 return } let imageData = image.jpegData(compressionQuality: 0.7) self.tryarrty.append(imageData!) DispatchQueue.main.async { self.reloadImage() } }) } } } self.present(DKpicker, animated: true){} } func reloadImage(){ if tryarrty.count == selectedCount{ imagesCollectionView.reloadData() } }
補足情報(FW/ツールのバージョンなど)
swift5
xcode12.5
あなたの回答
tips
プレビュー