UIImagePicker は、便利ですが、一度に一つづつしか写真を選択出来ないので、分かりにくいときもあります。これを解決するELCImageView Picker が便利なので使ってみました。MITライセンスのようです。
こんな感じで、複数写真取得出来るのは嬉しいですね。フォトストリームもちゃんと取得出来ています。
使い方は以下のような感じです。
- GitHubからダウンロード
- プロジェクトの、ELC Image Picker フォルダ以下を自分のプロジェクトに追加
- プロジェクトにAssetLibraryを追加
- コードから呼び出す。
elc/ELCImagePickerController – GitHub
この、サンプルプロジェクトですが、フォルダ構成がXcode とシンクロしていないため、ドラッグアンドドロップで行うのがいいと思います。
[cc lang=”ObjC”]#import “ELCImagePickerController.h”
#import “ELCAlbumPickerController.h”
[/cc]
[cc lang=”ObjC”]
– (IBAction)showELCPicker:(id)sender
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
ELCAlbumPickerController *albumController = [[ELCAlbumPickerController alloc] initWithNibName:@”ELCAlbumPickerController” bundle:[NSBundle mainBundle]];
ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initWithRootViewController:albumController];
[albumController setParent:elcPicker];
[elcPicker setDelegate:self];
[self presentModalViewController:elcPicker animated:YES];
} else {
}
}
– (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info{
[picker dismissModalViewControllerAnimated:YES];
}
– (void)elcImagePickerControllerDidCancel:(ELCImagePickerController *)picker {
[picker dismissModalViewControllerAnimated:YES];
}
[/cc]
まだ、画像を取得するところは書いていませんが、サンプルコードから、簡単に取得出来ます。一つ気になったのが、写真の位置情報を求めるダイアログがでて来て、それを不許可にすると何も取得が出来ない点です。この件は追って調査してみます。