2017-04-18 15 views
0

私はアプリケーションを開発しており、2つの画像ビューを持っています。各画像ビューには、カメラロールから画像を選択するための独自のボタンがあります。ボタン1をクリックすると、カメラロールが表示され、画像を選択して画像view1に表示されますが、2番目のボタンをクリックしてカメラロールから画像を選択すると、代わりに画像view1に画像が表示されますimageview2の誰もそれを解決する方法を知っていますか?これは私のインターフェイスです。私はObjective-C言語を使用しています。ここでタイプが不明な画像フォーマットを作成するとエラー(lldb)

enter image description here

コードは次のとおり

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

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

デリゲートメソッドは、画像ビュー1のためのものである。これは: -

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ 
    image=[info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    [self.imageView1 setImage:image]; 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 

-(void)imagePickerControllerDidCancel:(UIImagePickerControll‌​er *)picker{ 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 
+0

は、uはuが設定するために与えられたウル第二ボタンアクションで...... 2つの画像ビューv1とv2を持っていると仮定しますimage v1.image =あなたのpickedImageをv2.image =あなたのpickedImageに変更します。または(ウルのスクリーンショットから)私は、あなたの問題を解決するためにURコードを投稿するURコードを –

+1

のur TakeAPicボタンのタグ値を使用する必要がありますこの場合、同じ2つのボタンの同じアクションを与えられたと思います。 –

+0

- (IBAction)CNICFront:(id)送信者{ ピッカー= [[UIImagePickerController alloc] init]; picker.delegate = self; [picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; [self presentViewController:ピッカーアニメーション:はい完了:NULL]; } - (IBAction)CNICBack:(id)送信者{ pic = [[UIImagePickerController alloc] init]; pic.delegate =自己; [pic setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; [self presentViewController:pic animated:はい完了:NULL]; } – Hamza

答えて

0

enter image description here更新されたコード:

.hファイル:

@property (weak, nonatomic) IBOutlet UIImageView *img1; 
@property (weak, nonatomic) IBOutlet UIImageView *img2; 
- (IBAction)but1:(UIButton *)sender; 
- (IBAction)but2:(UIButton *)sender; 

.mファイルファイル

#import "ViewController.h" 

    @interface ViewController()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>{ 
     UIImagePickerController *picker; 
     NSString *ImageViewC; 
    } 

    @end 

    @implementation ViewController 

    - (void)viewDidLoad { 
     [super viewDidLoad]; 
    picker = [[UIImagePickerController alloc]init]; 
    picker.delegate=self; 


    } 


    - (void)didReceiveMemoryWarning { 
     [super didReceiveMemoryWarning]; 
     // Dispose of any resources that can be recreated. 
    } 


    - (IBAction)but1:(UIButton *)sender { 
     [email protected]"1"; 

     [picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
     [self presentViewController:picker animated:YES completion:NULL]; 

    } 

    - (IBAction)but2:(UIButton *)sender { 
     [email protected]"2"; 

     [picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
     [self presentViewController:picker animated:YES completion:NULL]; 

    } 

    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ 

     UIImage * image=[info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
     if ([ImageViewC isEqualToString:@"1"]) { 
      [self.img1 setImage:image]; 
     }else{ 
      [self.img2 setImage:image]; 
     } 
     [self dismissViewControllerAnimated:YES completion:NULL]; 
    } 

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

    } 
    @end 
+0

このコードはimageView2に画像を表示しています。実際には、button1をクリックするとimageView1に画像が表示され、button2をクリックするとimageView 2に画像が表示されるはずです@Naveen Kumar – Hamza

+0

viewdidload ImageViewC = [[NSString alloc] init]のようなImageViewC文字列を表示します。 ImageViewCの値を割り当てるために更新したコードを確認してください。 –

+0

これは以前と同じように働いていますbutton1をクリックするとimageView2に画像が表示され、button2をクリックして画像を選択すると画像がimageView2に表示されます – Hamza

関連する問題