0

UIImageViewにはそれぞれ、写真を撮るボタンと写真を撮るボタンが2つあります。これまで私は2つのボタンを設定しました。UIImageViewと4つのボタンです。あなたが取る写真のボタンのいずれかをクリックすると、同じプロセスにアクションを実行します:複数のボタンif文を呼び出すImageViewを割り当てます

-(void)takePhoto:(id) sender { 
UIImagePickerController *controller = [[UIImagePickerController alloc] init]; 
    controller.sourceType = UIImagePickerControllerSourceTypeCamera; 
    [controller setDelegate:self]; 
    [self presentModalViewController:controller animated:YES]; 
} 

を同じではなくSourceTypeCameraのSourceTypePhotoLibraryとChoosePhotoボタンのために行きます。そのプロセスが完了するとそれは、この関数に入る:

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

image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
[self dismissModalViewControllerAnimated:YES]; 
theImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 690, 440)]; 
theImageView.userInteractionEnabled = TRUE; 
[layout1 addSubview:theImageView]; 
[theImageView release]; 
[theImageView setImage:image]; 
takePhoto.hidden = YES; 
choosePhoto.hidden = YES; 
theImageView.clipsToBounds = YES; 

imagetwo = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
[self dismissModalViewControllerAnimated:YES]; 
ImageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 690, 440)]; 
ImageView2.userInteractionEnabled = TRUE; 
[layout2 addSubview:ImageView2]; 
[ImageView2 release]; 
[ImageView2 setImage:imagetwo]; 
takePhoto2.hidden = YES; 
choosePhoto2.hidden = YES; 
ImageView2.clipsToBounds = YES; 
} 

は今、私はif文のXcodeはあなたがいずれかを押したとき、それは両方の画像を表示しないように、押されたボタンを認識するように、私は必要だと思います第1の画像表示ボタンまたは他の画像表示ボタン。 takePhotoまたはchoosePhotoisTouchedInsideの場合は、最初のImageViewを実行し、それ以外のImageViewは実行しません。何か案は?

答えて

1

UIButtonsはUIViewサブクラスなので、タグプロパティを持ちます。 各ボタンとtakePhoto:メソッドに一意のタグを設定し、そのタグをiVarに保存します。

int myTag = ((UIButton *)sender).tag; 

その後didFinish:メソッドでivarを確認します。

+0

ご協力ありがとうございます! – Ollie177

+0

こんにちは。私はあなたが示唆したことをしてくれてとても感謝していますが、私はif文が次のようになっているので、両方のボタンタグのif文をどうすればいいのか分かりません: 'if(myTag == 1){' '}' タグ1または2を押した場合、タグ1だけが押された場合とは対照的に、画像ビューが作成されます。 – Ollie177

+0

if(myTag == 1 || myTag == 2){} – Rayfleck

関連する問題