Bearbeiten der Grenzen von UIView beim Anzeigen der verborgenen Tastatur in iOS 8

Ich präsentiere ein kleines "Login"UIViewController Als einUIModalPresentationFormSheet mit benutzerdefinierten Grenzen. In demviewWillLayoutSubviews -Methode ändere ich die Größe der Ansicht auf (300,250). Dies hat in iOS 5/6/7 funktioniert, funktioniert aber in 8 nicht mehr.

Wenn die Ansicht angezeigt wird und einUITextFieldenn Sie auf @ tippen, reagiert die App nicht mehr (nicht eingefroren, reagiert nur nicht auf Berührungen). Fast so, als würde die Tastatur angezeigt, aber nicht angezeigt. Delegate-Methoden werden korrekt aufgerufen. Wenn ich das @ entferself.view.superview.bounds = CGRectMake(0, 0, 300, 250); von demviewWillLayoutSubviews Methode Die Tastatur funktioniert, aber die Ansicht ist jetzt in voller Größe.UIModalPresentationFormSheet style.

Das passiert nur in iOS 8, daher kann ich nur davon ausgehen, dass es ein Problem mit der Art und Weise gibt, wie die Tastatur dargestellt wird und wie ich die Ansicht maskiere / deren Größe verändere. Bei der Lösung bin ich jedoch ratlo

Presenting ViewController -

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

Bearbeiten der Ansichtsgrenzen -

- (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);
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage