2017-01-04 7 views
0

enter image description hereギャラリーから画像を選択するときに、UIImagePickerControllerポップオーバーにカスタムボタンを追加するにはどうすればよいですか?UIImagePickerControllerポップオーバーでカスタムボタンを追加する方法

+0

質問をデザインイメージで更新してもらえますか?まさにあなたが構築したいUIです。 – Pushkraj

+0

ギャラリーから画像を選択した後、imagepicker内のこれらのボタンが必要 – Muthukumar

答えて

0

これらは、AppleがUIImagePickerViewControllerのために提供するデフォルトのボタンです。だから1つのプロパティを使用する必要があり、プロパティはallowsEditingです。 YES

ギャラリーやカメラから写真を選択すると、その2つのボタンが表示されるように設定する必要があります。 YOUはsourceTypeはあなたのビューコントローラでUIImagePickerControllerDelegateプロトコルを確認していることを確認しますUIImagePickerControllerSourceTypeCamera

されている場合にのみ、オーバーレイを追加することができます

-(void)openGallery { 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsEditing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

    [self presentViewController:picker animated:YES completion:NULL]; 
} 

-(void)openCamera { 
    BOOL isCameraPresent = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; 
    if(isCameraPresent) { 
     UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
     picker.delegate = self; 
     picker.allowsEditing = YES; 
     picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

     // Add overlay view with custom button on it. Set frames to button as per your choice. 
     UIView *viewOverlay = [[UIView alloc]initWithFrame:self.view.bounds]; 
     Create and initialise your `UIButton` here 
     [viewOverlay addSubview:YOUR_BUTTON_OBJECT]; 

     picker.cameraOverlayView = viewOverlay; 

     [self presentViewController:picker animated:YES completion:NULL]; 
    } 
    else { 
     NSLog(@"Camera not present"); 
    } 
} 

コードは次のようにする必要があります。

あなたの選択に従って、ボタンまたはアクションシートアクションのタップでこれらのアクションを呼び出します。

注:UIImagePickerControllerのポップオーバーのUIは、デバイスのiOSバージョンによって異なります。

+0

ありがとう@Pushkraj、これらの手段にもう1つのボタンを追加したい場合、どうすればいいですか?それが私の必要です。 – Muthukumar

+0

いいえ、開いているカメラのときにオーバーレイを追加する必要はありません。ギャラリーから画像を開くときに必要です – Muthukumar

関連する問題