我的代码有问题,我有两个 UIAlertView 代码块,一个带有取消和确定按钮,另一个用于制作 ImagePicker
-(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)
看看委托方法是如何调用的?
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
来自alertView
参数,您可以知道调用的是哪个警报(如果您将 cargaImagen 和 publicaPeticion 的警报视图设置为单独的实例变量)。
2)
您可以做的另一件事(可能更容易)是设置tag
您的alertView 上的属性。
在您的 'cargaImagen' 方法中,在创建 UIAlert 之后,通过以下方式将标签设置为 1alert.tag = 1;
.
然后,在你的alertView:clickedButtonAtIndex:
委托方法,当alertView.tag == 1
,您就会知道它来自 cargaImagen,如果它是 2(或零),您就会知道它来自 publicaPeticion。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)