2013-08-11 3 views
-1

с помощью два UIImageView и два кнопок, когда кран первого выбора изображения кнопки позволяет выбрать изображениеДисплей Два изображений

из библиотеки фотографий и их на вторую кнопку. это то, что я сделал

viewcontroler.h

UIImagePickerController *pic1; 
UIImagePickerController *pic2; 
UIImage *image1; 
UIImage *image2; 

IBOutlet UIImageView *imageview1; 
IBOutlet UIImageView *imageview2; 

-(IBAction)Load1:(id)sender; 
-(IBAction)Load2:(id)sender; 

vewcontroller.m

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

    image1 = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    image2 = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    [imageview1 setImage:image1]; 
    [imageview2 setImage:image2]; 


    [self dismissViewControllerAnimated:YES completion:NULL]; 

} 


-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{ 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 


- (IBAction)Load1:(id)sender 
{ 
    pic1 = [[UIImagePickerController alloc]init]; 
    pic1.delegate = self; 
    [pic1 setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
    [self presentViewController:pic1 animated:YES completion:NULL]; 
} 

- (IBAction)Load2:(id)sender 
{ 
    pic2 = [[UIImagePickerController alloc]init]; 
    pic2.delegate = self; 
    [pic2 setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
    [self presentViewController:pic2 animated:YES completion:NULL]; 


} 

когда я бегу. первая кнопка работает. позволяют выбрать изображение из библиотеки фотографий и отобразить его, вторая кнопка работа как будет, но изображение, которое вы выбрали отображение как в UIImageView

то, что я сделал неправильно здесь, благодаря

ответ

1

Эти строки вызывают как imageviews иметь тот же изображение, что вы выбрали:

image1 = [info objectForKey:UIImagePickerControllerOriginalImage]; 
image2 = [info objectForKey:UIImagePickerControllerOriginalImage]; 

Оба imageviews с тем же исходным изображением, как: UIImagePickerControllerOriginalImage в:

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

Что вам нужно сделать, это различать, какая кнопка была нажата, и в каком изображении должно содержаться это изображение. Конечно много подходов можно проследить: как вы можете использовать некоторые BOOL дифференцировать вызывающему как:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    if (button1Clicked) //Boolean to determine which button was pressed, set it in IBAction of the button 
    { 
     image1 = [info objectForKey:UIImagePickerControllerOriginalImage]; 
     [imageview1 setImage:image1]; 
    } 
    else 
    { 
     image2 = [info objectForKey:UIImagePickerControllerOriginalImage]; 
     [imageview2 setImage:image2]; 
    } 

     [self dismissViewControllerAnimated:YES completion:NULL]; 

} 

или любого другого соответствующего подхода.

+0

@Amir: добро пожаловать, вы должны пометить этот ответ как «Принятый», если он решил вашу проблему. –

+0

Я пробовал, но у меня есть problam i add boolean Load1Clicked; in view controller.h – Amir

+0

@Amir: Я ожидаю, что вы, должно быть, поняли проблему, которая вызывает несогласованность. Если флажок установлен, чтобы определить, какое действие кнопки запускает делегат UIImagePicker, вы можете легко решить эту проблему сейчас. –

Смежные вопросы