iOS AutoLayout mit scrollview und Tastatur

Habe ich einen Blick auf mein storyboard zu zeigen, Benutzer-log-in-Formular, so sieht es wie folgt aus: main view->scrollen Sie Ansicht->Inhalte-Ansicht->zwei text-Felder und die log-in-Schaltfläche an der Oberseite und eine Schaltfläche "registrieren" am unteren Rand der Ansicht. Ich benutze autolayout und unteren Knopf hat unten Platz Zwang. Wenn ich Tippen Sie auf das Textfeld und die Tastatur erscheint, würde ich mag, um einen Bildlauf anzeigen, um die Größe zu ändern, um sichtbar rect, aber der Inhalt Größe bleiben sollte, um nach unten scrollen, um die Schaltfläche "registrieren", aber die Schaltfläche nach oben verschieben, wenn die Größe des scroll-Ansicht ändern. Wie konnte ich machen, was ich will?

Ich diesen code verwenden, wenn die Tastatur angezeigt wird:

- (void)keyboardWillShow:(NSNotification *)aNotification
{
    NSDictionary *info = [aNotification userInfo];
    NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
    NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    CGRect keyboardFrame = [kbFrame CGRectValue];

    CGSize s = self.scrollView.contentSize;
    CGFloat height = keyboardFrame.size.height;
    self.scrollViewBottomLayoutConstraint.constant = height;

    [UIView animateWithDuration:animationDuration animations:^{
        [self.view layoutIfNeeded];
        [self.scrollView setContentSize:s];
    }];
}
Schreibe einen Kommentar