iphone - teclado - ¿Cómo puedo desactivar la detección táctil?
mi iphone habla solo y no me deja hacer nada (8)
¿Por qué no usas algún tipo de booleano (versión simple) para recordar, es decir, esInAction = true y después de que la acción finalice es InAction = false ...
Así que cuando alguien hace clic, usas algo como
if (!isInAction) {
isInAction=true;
try {
doYourAction;
} catch {
...
} finally {
isInAction=false;
}
}
// El Código es una especie de pseudocódigo, porque todavía no he programado para el iPhone, solo para visualizar lo que quiero decir.
¿Cómo puedo deshabilitar la detección de toque dentro de la acción que se ejecuta, porque no quiero que el personaje vuele en el cielo como un superhombre si el jugador hace clic y hace clic dentro de la acción? El personaje nunca aterrizará si sigue haciendo clic. Encontré el método "isDone", ¿está relacionado con este método? jugador haga clic en -> acción (no puede hacer clic dentro de la acción) -> acción finalizar -> haga clic nuevamente ... eso es lo que quiero ~
Desactive las interacciones del usuario en su vista hasta que la acción se complete y luego vuelva a habilitarla.
Para desactivar el toque
[self.view setUserInteractionEnabled:NO];
Para habilitar el toque
[self.view setUserInteractionEnabled:YES];
Por favor, intente ser un poco más conciso de lo que quiere la próxima vez.
En Swift 2.2
self.view.userInteractionEnabled = false
Esta es la mejor respuesta a tu pregunta:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
Siempre se puede colocar una vista UIV transparente en la parte superior del área para la que desea "inhabilitar" la entrada de pulsaciones, hacer que escuche las pulsaciones y hacer que las ignoren. Elimine el UIView (u ocúltelo) cuando desee que se escuche la entrada de nuevo.
Simplemente supondremos que estás hablando de la clase de Acción específica en Cocos2D. Si eso es cierto, entonces debes saber que cada Acción tiene un Bool de "isDone" que puedes verificar para ver si está hecho. Avísame si eso es lo que estás preguntando y publicaré un ejemplo, pero existe una gran posibilidad de que estés hablando de otra cosa porque tu redacción es muy confusa;)
Swift 3.0
self.view.isUserInteractionEnabled = false
Tal vez no entendí tu pregunta, pero ¿es esto lo que estás buscando?
- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[Superman Fly];
self.isTouchEnabled = NO;
}
- (void)SupermanLanded{
self.isTouchEnabled = YES;
}