Ich habe eine Ansicht auf meinem Storyboard, um Benutzer Login-Formular anzuzeigen, so sieht es so aus: Hauptansicht-> Bildlauf-> Inhaltsansicht-> zwei Textfelder und Login-Taste an der oben und eine Register-Schaltfläche am unteren Rand der Ansicht. Ich benutze das automatische Layout und die untere Taste hat den unteren Platzrand. Wenn ich auf das Textfeld und die Tastatur klicke, möchte ich in der Ansicht blättern, um die Größe in sichtbare rect zu ändern. Die Inhaltsgröße sollte jedoch weiterhin bis zum Register-Button reichen, aber die Schaltfläche wird nach oben verschoben, wenn sich die Größe der Ansicht ändert. Wie könnte ich machen was ich will?iOS AutoLayout mit Scrollview und Tastatur
Ich benutze diesen Code, wenn Tastatur erscheint:
- (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];
}];
}
Danke. Es klappt. –
Große Antwort; funktioniert super für mich! Vielen Dank! –
schön und einfach, aber ein Problem ist die Größe der Bildlaufleiste nicht auf den sichtbaren Teil der Scroll/Tabelle/Sammlung Ansicht. –