El keyboard muestra parcialmente ios6

Me he quedado atascado en resolver por qué el keyboard en mi aplicación aparece parcialmente en la pantalla o no aparece en absoluto. Es solo un controller de vista simple presentado;

[self presentViewController:vc_browser animated:YES completion:^{}]; 

La primera vez que lo presento, todo funciona normal. Luego lo rechazo con

 [self dismissModalViewControllerAnimated:NO]; 

y al presentar de nuevo (y más) este $ #%! ocurre. Inicia el marco del keyboard a partir de la notificación.

2012-12-30 00: 40: 21.618 testing [12080: 907] keyboard frame raw {{160, 443}, {0, 44}}

2012-12-30 00: 40: 21.619 testing [12080: 907] marco de keyboard convertido {{320, 886}, {0, 88}}

2012-12-30 00: 40: 21.836 testing [12080: 907] keyboard frame raw {{0, 524}, {320, 44}}

2012-12-30 00: 40: 21.837 testing [12080: 907] marco de keyboard convertido {{0, 1048}, {640, 88}}

En la image a continuación, el foco está dentro de la webView (en realidad el campo de búsqueda de Google)

si muevo el foco al campo de text sobre el keyboard, la session rectificada será {{inf, inf}, {0, 0}}

viewWillAppear y viewDidAppear no se implementa

el controller de vista presentado se carga de esta manera

 _vc = [[VC alloc] initWithNibName:@"VC" bundle:nil]; 

He intentado cargar este controller de vista desde otro xib u otro storyboard, pero el problema siempre está ahí.

Cualquier ayuda para resolver esto sería genial. Gracias.

http://i.stack.imgur.com/xBNZt.png

No puedo publicar una image con rep <10

También estoy teniendo este mismo problema. No sé cómo enviar un comentario a tu pregunta (todavía soy nuevo en Stack Overflow), así que estoy proporcionando lo que he descubierto hasta ahora como una respuesta parcial. Todavía investigando la solución completa.

Usando Xcode 4.5.1 y mi aplicación usa iOS 6. Es una aplicación universal que usa Core Data y el lado del iPhone funciona bien. El lado del iPad es una vista dividida. Desde el controller de vista detallada, el usuario puede abrir una window completa sobre la vista dividida para mostrar una foto. Descartar la vista de la foto lo devuelve a la Vista dividida.

Código a continuación sobre cómo se llama y se descarta el buscador de fotos.

 [self presentViewController:photoBrowser animated:YES completion:nil]; [self dismissViewControllerAnimated:YES completion:nil]; 

Después de que la vista de la foto se descarta es cuando tengo el problema del keyboard.

Síntomas: las vistas posteriores con UITextFields o UITextViews ya no muestran automáticamente el keyboard o el keyboard aparece solo parcialmente, como en el ejemplo de la foto. Utilizo becomeFirstResponder para abrir el keyboard.

 [self.noteEdit becomeFirstResponder]; 

Lo que también es extraño es si toco en UITextField, luego desaparecen todos los campos de text en esa vista.

He abierto un Incidente de soporte técnico de Apple (TSI) para este problema. Aquí estaba su respuesta el 12 de octubre de 2012.

Quiero darte una actualización sobre tu incidente. Gracias por enviar su código y la database de muestra. He podido reproducir el problema. Resulta que los campos de text que desaparecen en el controller de vista de detalles son el resultado de que el keyboard devuelve datos no válidos para UIKeyboardFrameEndUserInfoKey, lo que hace que su código establezca el marco de vista de desplazamiento en un tamaño no válido. Continúo buscando la causa raíz de este inesperado comportamiento del keyboard y escribo tan pronto como tengo una respuesta.

Verifiqué su respuesta visualizando los valores userInfo de UIKeyboardFrameEndUserInfoKey.

 NSLog(@"keyboardEndFrame orig.x=%f orig.y=%f size.w=%f, size.h=%f", keyboardEndFrame.origin.x, keyboardEndFrame.origin.y, keyboardEndFrame.size.width, keyboardEndFrame.size.height); 

Y, por supuesto, los valores para origen xy y fueron "inf". Los valores de tamaño se establecieron en cero.

Ahora solo necesito saber la causa de todo esto. Sigue investigando pero te mantendré informado de la respuesta de Apple. Este me ha dejado perplejo hasta ahora.

PS … Mi aplicación (iPhone e iPad) funcionaba bien en iOS 5.

Actualización – 17 de octubre de 2012:

La causa de mis problemas con el keyboard se debió a mis errores al implementar la nueva forma de manejar iOS 6 Orientation. Había subclasificado mi controller de vista dividida para include lo siguiente:

 - (NSUInteger)supportedInterfaceOrientations { return [[self splitViewController] supportedInterfaceOrientations];} 

El código corregido es:

 - (NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskPortrait;} 

Esto me fue señalado cuando mi Incidente de Soporte Técnico de Apple respondió con lo siguiente:

He rastreado la causa raíz de los problemas de su keyboard. En SplitController.m, el método soportado por Interferencias de interfaz llama: [[self splitViewController] supportedInterfaceOrientations]; y devuelve el valor recibido. Sin embargo, la propiedad splitViewController de un controller de vista dividida es nula como controlleres de vista dividida dentro de otros controlleres de vista dividida no está permitido. Por lo tanto, el valor devuelto es 0, que es una máscara de orientación no válida.

Mi aplicación admite diferentes types de orientación en function de qué vista está en la parte superior de la stack, pero había codificado incorrectamente el controller de vista dividida.

El grupo de soporte técnico de Apple me ayudó mucho. Espero que esta información te ayude.

¡Aclamaciones!