Obtuve un TextView
que se supone que aparece al presionar un botón, y le permite al usuario ingresar texto a través del teclado.Solución de problemas becomeFirstResponder que no muestra el teclado para algunos usuarios
- (IBAction) changeName {
changeNameBtn.hidden = YES;
backBtn.hidden = YES;
usernameLabel.hidden = NO;
inputTextField.hidden = NO;
[inputTextField becomeFirstResponder]; // to show keyboard
}
Esto funciona bien para la mayoría de nosotros.
Pero el teclado no se muestra para algunos de mis probadores, en un lugar geográficamente remoto. ¿Cómo se puede disparar esto? ¿Y cuál podría ser el motivo del diferente comportamiento de nuestros dispositivos? Funciona bien para mí y para todos los demás. Todos usamos los mismos dispositivos (iPod, iOS 4.1 - 5.1).
primero que intenté no funcionó:
supuse que el inputTextField hizo de alguna manera se hace visible en el tiempo, antes de becomeFirstResponder
fue despedido, por lo que añade setNeedsDisplay
como pensaba que obligaría a una actualización .
[inputTextField setNeedsDisplay];
[inputTextField becomeFirstResponder];
Segunda cosa que probé no funcionó:
if([inputTextField canBecomeFirstResponder]){
[inputTextField becomeFirstResponder];
}
Tercer cosa que probé es una solución temporal, que el usuario tenga la mala suerte de pulsar el campo:
- (IBAction) inputTextFieldTouch {
[inputTextField becomeFirstResponder];
}
Esta solución alternativa funciona, pero debe haber una mejor manera. ¡Por favor, ilumíname acerca de lo que estoy haciendo mal! :) ¿Y cómo abordar problemas como este sin poder duplicarlo yo mismo?
en realidad funciona mejor que la respuesta, que se marca correctamente. –
mejor, ¿cómo, Ilya? – JOG