多个 UIAlertView 问题
Posted
技术标签:
【中文标题】多个 UIAlertView 问题【英文标题】:multiple UIAlertView issue 【发布时间】:2012-01-31 17:48:33 【问题描述】:我的代码有问题,我有两个 UIAlertViews 代码块,一个带有取消和确定按钮,另一个用于制作 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];
问题在于 publicaPeticion 和 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];
还有我从照片流或相机中获取图像来源的方法
-(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];
问题是,当我按下“Aceptar”按钮(确定)时,它会将我带到照片库中的上传图片...
这个问题可能有点傻,但我该如何区分呢?
【问题讨论】:
【参考方案1】:几种方法。
1)
看看委托方法是怎么调用的?
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
通过alertView
参数,您可以知道调用了哪个警报(如果您将cargaImagen 和publicaPeticion 的警报视图设置为单独的实例变量)。
2)
您可以做的另一件事(可能更简单)是在您的 alertView 上设置 tag
属性。
在您的“cargaImagen”方法中,在您创建 UIAlert 之后,通过alert.tag = 1;
将标签设置为 1。
然后,在您的 alertView:clickedButtonAtIndex:
委托方法中,当 alertView.tag == 1
时,您会知道它来自 cargaImagen,如果它是 2(或零),您就会知道它来自 publicaPeticion。
【讨论】:
以上是关于多个 UIAlertView 问题的主要内容,如果未能解决你的问题,请参考以下文章