I have an issue with my code, I have two blocks of code of UIAlertViews one with cancel and ok button, and the other to make a UIImagePicker
-(IBAction)publicaPeticion
{
if([txtPeticion hasText] )
{
UIAlertView *alerta = [[UIAlertView alloc]
initWithTitle:@"Confirmación de Compra"
message:@"Deseas comprar la petición por $12.00"
delegate:self
cancelButtonTitle:@"Cancelar"
otherButtonTitles:@"Aceptar", nil];
[alerta show];
}
}
The issue is between publicaPeticion and cargaImagen
-(IBAction)cargaImagen
{
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Subir una imagen"
message:@"¿De donde deseas subir una imagen?"
delegate:self
cancelButtonTitle:@"Cancelar"
otherButtonTitles:@"Desde el equipo",@"Tomar con camara", nil];
[alert show];
}
and also my method to get the source of the image, from the photo stream or from the camera
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 1)
{
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
if(buttonIndex ==2)
{
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:picker animated:YES];
}
}
the question is, that when i press "Aceptar" button (OK), it takes me to the upload picture from the photo library...
maybe is a little bit silly the question but how can I differentiate it?
A couple ways.
1)
See how the delegate method is called?
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
From the alertView
parameter, you can tell which alert did the calling (if you set cargaImagen and publicaPeticion's alertviews to separate instance variables).
2)
Another (and probably easier) thing you could do is to set a tag
property on your alertView.
In your 'cargaImagen' method and right after you create the UIAlert, set the tag to 1 via alert.tag = 1;
.
Then, in your alertView:clickedButtonAtIndex:
delegate method, when alertView.tag == 1
, you'll know it comes from cargaImagen and if it's 2 (or zero), you know it comes from publicaPeticion.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With