0

私はXコードに比較的慣れておらず、写真のコラージュアプリに取り組んでいます。あるピッカーから画像を選択すると、画像ピッカーは正しく機能しますが、別の画像ピッカーから別の画像を選択したいのですが、画像ピッカーが正しく機能しません。

誰かが私の問題を解決するのを手伝ってくれます。これが私のコードです

`

-(IBAction)imagepickMethod1:(id)sender
{
    imagepicker=[[UIImagePickerController alloc]init];
    imagepicker.delegate=self;
    imagepicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:imagepicker animated:YES];
     button1.tag=100;
}
-(IBAction)imagepickMethod2:(id)sender
{
    imagepicker1=[[UIImagePickerController alloc]init];
    imagepicker1.delegate=self;
    imagepicker1.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:imagepicker1 animated:YES];


}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    [picker dismissModalViewControllerAnimated:YES];
    imagepicker.view.hidden=YES;


        photoPreviewImageView.image=image;


}
-(void)imagePickerController1:(UIImagePickerController *)picker1 didFinishPickingImage:(UIImage *)image1 editingInfo:(NSDictionary *)editingInfo1
{
    [picker1 dismissModalViewControllerAnimated:YES];
    imagepicker.view.hidden=YES;
             photoPreviewImageView1.image=image1;

}

`

4

3 に答える 3

1
//Take two imageView in your .h file
UIImageView *imgViewForFirstPicker;
UIImageView *imgViewForSecondPicker;

// Alloc these images in view did load 

imgViewForFirstPicker = [[UIImaeView allo] initWithFrame:(give your rect)];

// Similarly for second imageView and add to both in self.view

-(IBAction)imagepickMethod1:(id)sender
{
    UIImagePickerController *imagepicker=[[UIImagePickerController alloc]init];
    imagepicker.delegate=self;

    imagepicker.tag=100;
    imagepicker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:imagepicker animated:YES];
}
-(IBAction)imagepickMethod2:(id)sender
{
    UIImagePickerController *imagepicker1=[[UIImagePickerController alloc]init];
    imagepicker1.delegate=self;
    imagepicker1.tag=101;
    imagepicker1.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:imagepicker1 animated:YES];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage: (UIImage*)image editingInfo:(NSDictionary *)editingInfo
{
    [picker dismissModalViewControllerAnimated:YES];
    if(picker.tag == 100)
    imgViewForFirstPicker.image=image;
    else
    imgViewForSecondPicker.image=image;
}

これを試してみてくださいそれがあなたを助けることを願っています

于 2012-06-13T07:44:43.347 に答える
0

UIImagePickerControllerかなり重いオブジェクトを作成するので、複数のインスタンスを作成することはお勧めできません。同じことをしている場合、これが問題の原因である可能性があります。コードを共有して、問題についてより多くの洞察を得ることができれば、それは素晴らしいことです。

于 2012-06-13T07:24:09.433 に答える
0

イメージピッカーでのみ使用することをお勧めします。提供したコードから、2つの異なるimagepickerデリゲートメソッドを作成しようとしていますが、実際には、どちらか一方だけが呼び出されます。

imagePickerのインスタンスで作成し、変更する必要のある画像に応じてそのタグを変更してから、-didFinishPickingImageチェックでif (picker.tag == SOME_TAG)適切に設定する必要があります。

于 2012-06-13T07:41:22.187 に答える