一个视图中的两个ImagePickerControllers

时间:2013-06-25 15:42:40

标签: iphone ios objective-c uiimagepickercontroller

我的应用程序中有两个图像采集器。我已经正确完成了第一次。用户可以从库中选择或捕获照片并在视图中查看。但是当我尝试复制代码并粘贴它并更改动作和对象名称时,我在两行有错误。

    -(IBAction)TakePhoto {

    picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    [picker setSourceType:UIImagePickerControllerSourceTypeCamera];
    [self presentViewController:picker animated:YES completion:NULL];

}

-(IBAction)ChooseExisting

{
    picker2 = [[UIImagePickerController alloc] init];
    picker2.delegate = self;
    [picker2 setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    [self presentViewController:picker2 animated:YES completion:NULL];

}

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

{
    image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [imageView setImage:image];
    [self dismissViewControllerAnimated:YES completion:NULL];
}
-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker {

    [self dismissViewControllerAnimated:YES completion:NULL];
}

//the following part is the renamed part


-(IBAction)TakePhoto2 {

 picker3 = [[UIImagePickerController alloc] init];
 picker3.delegate = self;
 [picker3 setSourceType:UIImagePickerControllerSourceTypeCamera];
 [self presentViewController:picker3 animated:YES completion:NULL];

 }

 -(IBAction)ChooseExisting2

 {
 picker4 = [[UIImagePickerController alloc] init];
 picker4.delegate = self;
 [picker4 setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
 [self presentViewController:picker4 animated:YES completion:NULL];
  }
ERROR HERE !!-(void) imagePickerController:(UIImagePickerController *)picker3 didFinishPickingMediaWithInfo:(NSDictionary *)info

{
    image2 = [info objectForKey:UIImagePickerControllerOriginalImage];
    [imageView2 setImage:image2];
    [self dismissViewControllerAnimated:YES completion:NULL];
}
ERROR HERE !!!-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker3 {

    [self dismissViewControllerAnimated:YES completion:NULL];
}

对于“(void)”我得到此错误:方法ImagePickerControllerDidcancel和ImagePickerControllerdidFinishPickingMediaWithINfo

的重复声明

如果您可以为我修复代码,那就太棒了。感谢

感谢您的帮助,如果我的英语不够好,我很抱歉

1 个答案:

答案 0 :(得分:0)

-(void) imagePickerController:(UIImagePickerController *)picker3 didFinishPickingMediaWithInfo:(NSDictionary *)info;

-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker3;

以上两者都是UIImagePickerController的代表。

他们必须在控制器类中只存在一次。

注意:更改参数名称不会更改方法声明。