[ios]多个 UIAlertView 问题

发布时间: 2017/3/27 19:03:31
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我与我的代码有问题,我有两个 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 的 alertviews 分离实例变量)。

2)

另一种 (和可能更容易) 你能做的事情就是设置 tag 属性上你 alertView。

在你的 'cargaImagen' 方法和右后创建 UIAlert,设置标记为通过 1 alert.tag = 1;

然后,在你 alertView:clickedButtonAtIndex: 委托方法,当 alertView.tag == 1 ,你就会知道它来自 cargaImagen,如果它是 2 (或零),你知道它是来自 publicaPeticion。

官方微信
官方QQ群
31647020