quitar el keyboard de la pantalla sin llamar a resignFirstResponder

Tengo una vista personalizada ( NotifyView ) agregada en UIWindow con un button de UIWindow (que lo elimina de UIWindow ). Esta vista se agrega cuando una notificación PUSH entra en didReceiveRemoteNotification Hay varios casos en los que podría estar en cualquier pantalla, y mi keyboard está ARRIBA a través de UITextfield / UITextview . En esta etapa, si llega un impulso, NotifyView se agrega en la UIWindow de UIWindow detrás del keyboard. Quiero renunciar al keyboard una vez que se recibe el PUSH así que para eso pude:

Ambas soluciones requerirían hacer cambios en el código de todos los controlleres y estoy buscando algo más genérico como:

  • ¿podría haber alguna forma a través de la cual pudiera simplemente quitar el keyboard de la pantalla al recibir PUSH
  • o podría search el primer respondedor actual de la aplicación y renunciar explícitamente.

Estas podrían ser soluciones genéricas.

Sería realmente útil si alguien pudiera facilitar este process de pensamiento o alguien tenga una solución inmediata para este caso.

Puede usar el método a continuación.

 [[[UIApplication shanetworkingApplication] keyWindow] endEditing:YES] 

Prueba este, para mí funciona bien [yourView endEditing:YES]

El problema es, cuando quieres devolver el foco.

He implementado como escuchar cada campo de text y almacenamiento en caching, que es lo último. Que renuncien solo a ese (en empuje) después de ese estado de restauración, requieren atención para eso.

Prueba esto en el método de delegado …

 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { [self.view endEditing:YES]; // added this in for case when keyboard was already on screen [self editStartDate:textField]; return NO; }