que tienen un UIView personalizado que implementa el protocolo UIKeyInput
y tienepersonalizada UIView y becomeFirstResponder
- (BOOL) canBecomeFirstResponder{
return YES;
}
definido en la subclase. Al llamar:
[customView becomeFirstResponder];
NSLog(@"is first? %i",[customView isFirstResponder]);
durante un clic de botón, devuelve falso, a pesar de que canBecomeFirstResponder
se ajusta correctamente y todas las funciones de protocolo UIKeyInput
se implementan. ¿Qué otras cosas podrían estar bloqueando que esta vista se convierta en la primera respuesta? Vive dentro de un scrollView y otra vista personalizada si eso ayuda.
Actualización:
he comprobado para ver lo que la corriente de primera respuesta fue la siguiente:
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
y sorprendentemente firstResponder
estaba nil
. Entonces nada parece acaparar los eventos.
¿Hay algo más que se niegue a renunciar a la primera respuesta en este momento? ¿Como un campo de texto o algo con un delegado personalizado? –