iPhone5 は縦に長くて、上にあるCancel ボタンが押しにくいよね
そんなわけで、UIImagePickerController にツールバーを表示して、
それをダブルタップしたらUIImagePickerController が引っ込むという操作を実装します。
GestureRecognizer でdismissModalViewControllerAnimated: を呼び出すだけ
もー、まんまです。
ダブルタップのジェスチャーレコグナイザーを用意して、それにdismissModalViewControllerAnimated: を関連付ければ終わりです。
コード
以下、コード。
// UIImagePickerController の呼び出しメソッド - (void)showImagePickerController { // 今回の例ではカメラロール if ( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum] ) { return; } // イメージピッカー用意 UIImagePickerController* ipc = [[UIImagePickerController alloc] init]; [ipc setSourceType:UIImagePickerControllerSourceTypeSavedPhotosAlbum]; [ipc setDelegate:self]; // ツールバー表示 [ipc setToolbarHidden:NO]; // GestureRecognizer 用意 UITapGestureRecognizer* doubleTapGesture = [[UITapGestureRecognizer alloc] init]; [doubleTapGesture setNumberOfTapsRequired:2]; // ダブルタップ // ダブルタップ時に呼び出すアクションを指定。 // (画面引っ込める=dismissModalViewControllerAnimated:) [doubleTapGesture addTarget:self action:@selector(dismissModalViewControllerAnimated:)]; // ツールバーにGestureRecognizer を追加 [[ipc toolbar] addGestureRecognizer:doubleTapGesture]; // イメージピッカー表示 [self presentViewController:ipc animated:YES completion:nil]; }