objective-c iphone notifications uitextfield ios9

objective c - UIKeyboardWillShowNotification no llama y solo UIKeyboardWillHideNotification llama en iOS 9



objective-c iphone (1)

Esto puede estar relacionado con la configuración del simulador, consulte el menú "Hardware> Teclado> Conectar hardware del teclado". Si esta opción está activada, obtendrá UIKeyboardWillHideNotification , pero nunca UIKeyboardWillShowNotification .

Todo funciona bien hasta iOS 8. Pero cuando el usuario toca el control de campo de texto viene directamente en UIKeyboardWillHide Notificación de notificación Consola de inicio de sesión: no se puede encontrar el plano de teclado compatible con el tipo 4 para el teclado iPhone-PortraitTruffle-NumberPad; utilizando 675849259_PortraitTruffle_iPhone-Simple-Pad_Default

Aquí está el código--

` In view did load - (void)viewDidLoad { [super viewDidLoad]; self.txtMobNumber.delegate = self; self.txtMobNumber.keyboardType = UIKeyboardTypeNumberPad; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:@"UIKeyboardWillShowNotification" object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:@"UIKeyboardWillHideNotification" object:nil]; } notification callback - (void)keyboardWillShow:(NSNotification *)notification { // Save the height of keyboard and animation duration NSDictionary *userInfo = [notification userInfo]; CGRect keyboardRect = [userInfo[@"UIKeyboardBoundsUserInfoKey"] CGRectValue]; [UIView beginAnimations:@"moveKeyboard" context:nil]; float height = keyboardRect.size.height-60; self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y - height, self.view.frame.size.width, self.view.frame.size.height); [UIView commitAnimations]; // [self setNeedsUpdateConstraints]; } // Reset the desired height - (void)keyboardWillHide:(NSNotification *)notification { // Reset the desired height (keep the duration) NSDictionary *userInfo = [notification userInfo]; CGRect keyboardRect = [userInfo[@"UIKeyboardBoundsUserInfoKey"] CGRectValue]; [UIView beginAnimations:@"moveKeyboard" context:nil]; float height = keyboardRect.size.height-60; self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + height, self.view.frame.size.width, self.view.frame.size.height); [UIView commitAnimations]; } `