Pregunta

Si quisiera hacer caso omiso de un evento de toque en UIKit en el iPhone lo haría simplemente hacer:

// Begin ignoring events
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
//Do my code 
// Stop ignoring events
[[UIApplication sharedApplication] endIgnoringInteractionEvents];

Esto permite que el código entre el "ignorar" las llamadas a operar sin tener que preocuparse por la interacción del usuario cambiar cualquier estado de la aplicación.

Mi pregunta es, ¿cómo puedo hacer esto si estoy escribiendo una aplicación de Mac OS X (AppKit vs UIKit)? Básicamente quiero "lock-out" al usuario durante algunas operaciones (en concreto, hacer llamadas de red, y el cambio de estado de forma rápida sería poner en cola un montón de llamadas de red que obtener rápidamente en el camino de la otra).

¿Es necesario para gestionar de forma manual con AppKit? Es decir. poner una barra de progreso, y desactivar todos los elementos de la interfaz con la mano?

¿Fue útil?

Solución

En el escritorio que realmente no querer hacer tal cosa. Sólo funciona en el iPhone, porque no hay nada más que un usuario podría razonablemente que desee hacer con su aplicación en el momento. En el escritorio hay posibilidades de múltiples ventanas, etc., y siempre que su aplicación no responde se considera un error.

Así que de manera más directa: No, no hay nada como esto. Usted tiene que conseguir el mismo efecto con un panel de chapa / modal, pero la mayoría de las veces debe diseñar la interfaz de usuario de tal manera que no es un problema de todos modos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top