UIActionSheet en acción

08 March 2009



Hoy vamos a aprender como implementar el control UIActionSheet, el cual muestra un elegante efecto al aparecer, permitiendo incluso aplicar cierta opacidad a la ventana que queda detrás.



La forma de mostrar dicho control es:

[cpp]
UIActionSheet* actionSheet = [[UIActionSheet alloc] initWithTitle:@"My ActionSheet Title" delegate:self cancelButtonTitle:@"Cancelar" destructiveButtonTitle:@"Amonos" otherButtonTitles:nil];

actionSheet.actionSheetStyle = UIBarStyleBlackTranslucent;

actionSheet.delegate = self;

[actionSheet showInView:self.view];

[actionSheet release];
[/cpp]

PUNTO POR PUNTO

1. La forma de crear dicho control, permite entre un botón para cancelar (selfcancelButtonTitle), otro para aceptar (destructiveButtonTitle) y una lista de controles más (otherButtonTitles).

Si necesitamos más de dos botones, tendremos que recurrir a otherButtonTitles de la siguiente manera:

[cpp]
UIActionSheet* actionSheet = [[UIActionSheet alloc] initWithTitle:@"My ActionSheet Title" delegate:self cancelButtonTitle:@"Cancelar" destructiveButtonTitle:nil otherButtonTitles:@"botón 1", @"botón 2", @"botón 3", @"botón 4", @"botón 5", @"botón 6", nil];
[/cpp]

2. Mediante actionSheet.actionSheetStyle = UIBarStyleBlackTranslucent; aplicamos el estilo y/o opacidad a la ventana que queda detrás.

3. Para poder controlar y gestionar el botón que el usuario pulse, debemos delegar los eventos de dicho control en nuestra clase mediante actionSheet.delegate = self; Dichos eventos y botones pulsados serán recogidos mediante el siguiente método:

[cpp]
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;
[/cpp]

Recordad que para ello debemos de definir en nuestra clase UIActionSheetDelegate:

[cpp]
@interface MiClaseController : UIViewController
[/cpp]

Eso es todo, espero que lo aprovechéis.

 



 

 
UIActionSheet en acción

Comentarios recientes

  • 23 March 2009
    Antonio dijo:

    Hola amigo Toda información que se preste al usuario es poca, y aunque es cierto que ya está declarado en el Init, ponerlo después seguro que aclara a más de uno. No pretendemos presentar ejemplos avanzados ni somos unos puristas, tan solo pretendemos que el usuario y visitante de este blog aprenda de una forma rápida y clara. Aún así, gracias por tu comentario.

  • 23 March 2009
    un amigo dijo:

    La linea 5 del primer ejemplo es superflua. Ya has declarado el Action Sheet como delegado en el método init de la linea 1.

Deja un comentario

Escrito por:

Administrador

Sin categoría
UIActionSheet

Utilizamos cookies propias y de terceros para mantener la sesión o sus preferencias, recopilar estadísticas y proporcionar contenidos conforme a sus intereses. Si continua navegando, utiliza los servicios de la web o pulsa el botón, está aceptando su instalación y el uso que hacemos de ellas. Puede obtener más información sobre como revocar su consentimiento o cómo cambiar la configuración en este enlace.