2011-05-17 11 views
28

Estoy tratando de mostrar el botón cancelar en UIActionSheet pero no se muestra, ¿es eso un comportamiento aceptable? por favor aconséjame.UIActionSheet en el iPad no muestra el botón cancelar

UIActionSheet *actionSheet = [[UIActionSheet alloc] 
      initWithTitle:@"Are you sure you want to clear the cache?" 
      delegate:self 
      cancelButtonTitle:@"No" 
      destructiveButtonTitle:@"Yes" 
      otherButtonTitles:nil]; 

[actionSheet showInView:self.view]; 

[actionSheet release]; 

Respuesta

52

iPads tienen algunas reglas especiales sobre hojas de acción y sus cancelar los botones, dependiendo de dónde se está visualizando desde:

Puede presentar una hoja de acción desde una barra de herramientas, barra de pestañas, elemento de la barra de botones o desde una vista. Esta clase tiene en cuenta la vista de inicio y la plataforma actual al determinar cómo presentar la hoja de acción. Para las aplicaciones que se ejecutan en dispositivos iPhone y iPod touch, la hoja de acción normalmente se desliza desde la parte inferior de la ventana que posee la vista. Para las aplicaciones que se ejecutan en dispositivos iPad, la hoja de acción normalmente se muestra en un popover que está anclado a la vista de inicio de una manera adecuada. Los toques fuera del popover automáticamente descartan la hoja de acción, al igual que los toques dentro de los botones personalizados. También puede descartarlo programáticamente.

Al presentar una hoja de acción en un iPad, hay ocasiones en que no debe incluir un botón de cancelar. Si está presentando solo la hoja de acción, el sistema muestra la hoja de acción dentro de un popover sin usar una animación. Debido a que los grifos fuera del popover descartan la hoja de acción sin seleccionar un ítem, esto resulta en una forma predeterminada de cancelar la hoja. Incluir un botón cancelar solo causaría confusión. Sin embargo, si tiene un popover existente y está mostrando una hoja de acción sobre otro contenido usando una animación, un botón de cancelar sigue siendo apropiado. Para obtener más información, consulte las Pautas de la interfaz humana del iPad.

Aquí hay un enlace con más explicaciones: http://crazyviraj.blogspot.com/2010/05/showing-cancel-button-in.html

+0

estoy feliz de leer eso, esto significa no estoy haciendo el usuario confusa y buscando el botón de cancelación? –

+5

Sí, significa que la mayoría de las personas solo tocan en otro lugar que no sea la hoja de acciones en el iPad para decir "cancelar". Comprueba la aplicación de correo de iPad de una manera en la que Apple trata esto (en modo retrato, el botón de movimiento) o en la aplicación Fotos para el botón Eliminar. –

+1

En un contexto en iPad donde no se muestra el botón Cancelar, en iOS8, no se necesita una cadena "Cancelar" en la Hoja UIAction. Sin embargo, en iOS7 (¿y antes?), Se necesita la cadena "Cancelar" para que * hagas * un separador entre los dos últimos elementos (creo que solo se aplica cuando tienes más de dos elementos). ¡Uf! –

Cuestiones relacionadas