UIImagePickerController をツールバーのダブルタップで引っ込める

投稿者: | 2013/02/08

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];
}

 



 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータがどう処理されているか知りたい方はこちらをお読みください