iOS端末内のフォトライブラリ(カメラロール)から画像を選択しようとするとき、多くのサイトや本では標準のUIPickerViewControllerを使用する方法を解説しているかと思います。ところが、標準のままだと画像の複数選択には対応してないんですよね。LINEにしろFacebookにしろいろんなサービスでは画像を複数選ぶことができるのなんて当たり前。少し手間はかかりますが、外部のライブラリをインストールして複数選択に対応させたいと思います。
DKImagePickerControllerを使おう
使用イメージとしてはこんな感じ
使用するにはまずCocoaPodsのインストールをします。(詳しいことはこの記事では省略)
インストールが完了したら、ライブラリを追加したいプロジェクトのディレクトリに移動。Podfileを作成後、
pod 'DKImagePickerController'
と書き込みDKImagePickerControllerを追加します。
pod install
でライブラリが使えるようになります。
ちなみにすでにPodfileがある場合は直接
pod 'DKImagePickerController'
を書き込み、ターミナルから
pod update
すれば良いです。
またアプリからカメラロールへのアクセスを可能にするために、Info.plist に「Privacy - Photo Library Usage Description」を追加しておきましょう。
使用したい箇所に以下のコードを書けば良いと思います。
選択した画像を表示したい場合はUICollectionViewを用いると良いみたいです。自分の学習が進んだらこの記事を更新していきます。
追記:「Undefined symbol: OBJC_CLASS$_FLAnimatedImage」などのエラーが出ることがありましたが、Podsディレクトリを一旦削除し新たにpod installすることにより解決しました