Una hoja de acciones (o Action Sheet en inglés) es el típico desplegable que nos aparece en la parte inferior de la ventana cuando queremos contactar con alguien en ciertas aplicaciones o cuando simplemente queremos eliminar un borrador en la app Mail. Lo bueno de las hojas de acciones es que son muy simples y la interacción con el usuario es muy buena.

El código es este:

-(IBAction)showActionSheet:(id)sender{

UIActionSheet *popupQuery = [[UIActionSheet alloc] initWithTitle:@"¿Cómo desea contactar?" delegate:self cancelButtonTitle:@"Cancelar" destructiveButtonTitle:nil otherButtonTitles:@"Enviar email",@"Llamada telefónica", @"SMS", nil];

popupQuery.actionSheetStyle = UIActionSheetStyleDefault;
[popupQuery showInView:self.view];
[popupQuery release];
}

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

if (buttonIndex == 0) {
//Email
} else if (buttonIndex == 1) {
//Llamada telefónica
} else if (buttonIndex == 2) {
//SMS
} else if (buttonIndex == 3) {
//Botón de cancelar (dejar en blanco)
}
}

Para configurarla a nuestras necesidades, necesitaremos editar la línea 3. initWithTitle establece el título que va a llevar la hoja de acciones, en cancelButtonTitle establecemos el texto de nuestro botón de cancelar. Si no queremos ponemos nil. destructiveButtonTitle es el botón de color rojo. Su función es idéntica a la de los demás botones. Por último, en otherButtonTitle ponemos los botones que vayamos a usar, como en el ejemplo.

Para finalizar, deberemos editar los campos donde pone //Email, //Llamada telefónica, etc. Deberemos borrar los comentarios e insertar el código que queramos ejecutar al pulsar cada botón. Si añadimos otro botón, el buttonIndex == 3 pasará a ser de este nuevo botón y los últimos buttonIndex serán los de los destructiveButton y de los cancelButton, respectivamente.

Anuncios