Edición de límites de UIView al presentar el teclado oculto en iOS 8

Presento un pequeño "inicio de sesión"UIViewController como unUIModalPresentationFormSheet con límites personalizados En elviewWillLayoutSubviews método, cambio el tamaño de la vista a (300,250). Esto ha funcionado en iOS 5/6/7 pero ya no funciona en 8.

Cuando se presenta la vista y unUITextField se toca, la aplicación deja de responder (no se congela, simplemente no responde a los toques). Casi como si el teclado se presentara pero no apareciera. Los métodos delegados SON llamados correctamente. Si elimino elself.view.superview.bounds = CGRectMake(0, 0, 300, 250); desde elviewWillLayoutSubviews El teclado funciona, pero la vista ahora es de tamaño completoUIModalPresentationFormSheet estilo.

Esto solo ocurre en iOS 8, por lo que solo puedo suponer que es un problema con la forma en que se presenta el teclado y la forma en que estoy enmascarando / cambiando el tamaño de la vista, pero no estoy seguro de la solución.

Presentando ViewController -

UserLoginViewController *loginVC = [[UserLoginViewController alloc] initWithNibName:@"UserLoginViewController" bundle:nil];
loginVC.modalPresentationStyle = UIModalPresentationFormSheet;
loginVC.delegate = self;
[self presentViewController:loginVC animated:YES completion:nil];

Edición de los límites de la vista:

- (void)viewWillLayoutSubviews {

    [super viewWillLayoutSubviews];
    self.view.superview.layer.cornerRadius  = 10.0;
    self.view.superview.layer.masksToBounds = YES;
    self.view.superview.bounds = CGRectMake(0, 0, 300, 250);
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta