1

私は UIImagePicker を使用するのが初めてなので、ここで我慢してください。基本的に、カメラ ロールにアクセスする 2 つの UIButtons が定義されており、画像が選択されると、その画像が UIImageView に表示されます。問題は、ボタンの1つから画像を選択すると、1つではなく両方のUIImageViewに表示されることです。基本的に、2 つの異なるボタンを使用して 2 つの異なる写真を選択できるようにしたいと考えています。コーディングは次のとおりです。

-(IBAction)getPhoto1:(id)sender {

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    popover1 = [[UIPopoverController alloc] initWithContentViewController:picker];
    [popover1 presentPopoverFromRect:CGRectMake(0.0, 0.0, 400., 400.0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

-(IBAction)getPhoto2:(id)sender {

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    popover2 = [[UIPopoverController alloc] initWithContentViewController:picker];
    [popover2 presentPopoverFromRect:CGRectMake(0.0, 0.0, 400.0, 400.0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [picker dismissViewControllerAnimated:YES completion:nil];
    photo1.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    photo2.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

}
4

1 に答える 1

2

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info画像の選択が終了するたびに呼び出されます。

から画像を選択し終えると、UIImagePickerController両方UIImageViewとも返された画像に設定されます。

どのボタンが押されたかを区別する必要があります。おそらく aを使用して、intどのボタンが押されたかを判別できます。

たとえば、押されたとき、または押されたときに設定される「int」という名前を作成しbuttonPressedます。では、次のようになります。1getPhoto12getPhoto2didFinishPickingMediaWithInfo

if (buttonPressed == 1) {
    photo1.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
} else if (buttonPressed == 2) {
    photo2.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}
于 2013-03-29T19:50:32.407 に答える