[Objective-C] UIImagePickerViewController のカメラ上に自作ボタンを置く

投稿者: | 2014/01/08

UIImagePicker 上に自作のボタンを置きたい場合。
cameraOverView プロパティを使えばOKです。

- (void)pushButton {
	NSLog(@"push button!");
}

- (void)showCamera {
    
    if ( ![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ) {
        return;
    }
    
    UIImagePickerController* ipc = [UIImagePickerController new];
    [ipc setSourceType:UIImagePickerControllerSourceTypeCamera];
    [ipc setDelegate:self];
    [ipc setAllowsEditing:NO];
    [ipc setCameraFlashMode:UIImagePickerControllerCameraFlashModeOff];
    
    UIButton *button = [UIButton buttonWithType:100];
    [button setTitle:@"hoge" forState:UIControlStateNormal];
    [button setFrame:CGRectMake(120, 120, 80, 80)]; // CGRectMake(x, y, width, height)
    [button addTarget:self action:@selector(pushedButton) forControlEvents:UIControlEventTouchUpInside];
    ipc.cameraOverlayView = button;
    
    [UIView animateWithDuration:0.2f
                     animations:^{
                         [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp
                                                forView:ipc.view
                                                  cache:NO];
                     }
                     completion:^(BOOL finished){
                         [self presentViewController:ipc animated:NO completion:^{}];
                     }
     ];
}

 

参考

こちらの記事を参考にさせて頂きました。


 



 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください