1

私はImage views私のview controller(前の目的、中、後の目的)に3つ持っています。それぞれのビューの画像を選択する必要があります。

このタスク専用の方法は次のとおりです。

 -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
      UIImage *image;
        image = [info objectForKey:UIImagePickerControllerOriginalImage];
        [_imgView setImage:image];
        [self dismissViewControllerAnimated:YES completion:NULL];
}

しかし、どのボタンが画像ピッカーを呼び出したかについてこのメソッドに通知する方法と、ビュー上の画像をそれぞれ選択/表示する方法。

4

2 に答える 2

2

「プライベート」(はい、そのようなことは知りません)ivarを追加して、selectedImageViewへの参照を保持します

@interface MyViewController ()

@property (nonatomic, strong) UIImageView *selectedImageView;

@end

次に、imageView が選択されたら、この新しい ivar を使用して、現在アクティブな imageView への参照を保持します。

- (void)imageViewTapped:(id)sender
{
  // This assumes the use of a gesture recognizer but you can substitute your usual method
  // of detecting the imageView that you want to edit.
  self.selectedImageView = [sender view];
}

これで、デリゲートは次のようになります

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
  self.selectedImageView.image = info[UIImagePickerControllerOriginalImage];
  self.selectedImageView = nil;

  [self dismissViewControllerAnimated:YES completion:nil];
}
于 2013-04-03T08:26:51.423 に答える
0

クラス レベルでは、imageview の参照を保持する変数を使用します。

画像をタップすると、タップされた画像ビューの参照がこの変数に格納されます。

imagepicker デリゲート メソッドに、この変数を使用して画像を設定します。

于 2013-04-03T08:16:11.863 に答える