wie kann ich einstellen, contentoffset und ändern Sie die Höhe von UIScrollview zur gleichen Zeit
Ich versuche zu scrollen, bis meine UISCrollView
wenn die Tastatur angezeigt wird,
Benutze ich setContentOffset Verschiebung der uiview-up.
Zur gleichen Zeit, ich will zum verringern der Höhe meiner UISCrollView
zu (Blick in die Höhe - Tastatur-Höhe), so dass der gesamte Inhalt kann die Ansicht gescrollt werden.
Ich sowohl die änderungen in keyboardWillShow Benachrichtigung
Wenn ich tatsächlich bringen Sie die Tastatur nach oben in meine app, die Inhalte zunächst nach oben geschoben, und dann werden Sie nach unten gedrückt (das gibt einen flackernden Effekt). Ich bin versucht zu glätten, die beide Transformationen in einem Schritt..
Ist es möglich?
Code Unten ---
- (void) keyboardWillShow {
CGPoint contentOffset = scrollView.contentOffset;
CGRect scrollViewFrame = scrollView.frame;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
if (contentOffset.y >= 0 && contentOffset.x >= 0) {
isContentOffset = YES;
contentOffset.y += screenShift;
[scrollView setContentOffset:contentOffset animated: NO];
}
scrollViewFrame.size.height = keyboardOrigin.y - self.view.frame.origin.y - toolbarHeight;
scrollView.frame = scrollViewFrame;
[UIView commitAnimations];
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine option für die animation, wenn Sie setContentOffset für die animation. hier ist der code, dass ich die ganze Zeit
Es funktioniert gut für mich.
Sind, wickeln Sie diese änderungen in einer animation zu sperren?
Ich denke ich habe eine Lösung für dieses. Du kannst mit der Größe der Ansicht in
textViewDidBeginEditing
Methode. Sie können ändern Sie einfach die Bildgröße der scrollView die Hälfte vonund zu initialisieren oder zu behandeln, dass die gesamte Länge der scrollview können Sie die contentSize des scrollView in gleicher Weise wie der Rahmen war gesetzt im obigen Schnipsel. zum Beispiel
Ich hoffe das sollte den trick für Sie. Wenn es funktioniert bitte mitteilen.
Herausgefunden, das Problem...
Wenn die Tastatur-Schaltfläche geklickt wurde, habe ich an einem becomeFirstResponder gefolgt von einem resignFirstResponder auf der Tastatur anzeigen. Dies verursacht keyboardWillShow gefolgt von keyboardWillHide und anderen keyboardWillShow Benachrichtigung, brachte Sie die Tastatur nach oben, brachte es wieder nach unten und dann wieder hoch.
Danke an alle die versucht haben zu helfen.. und sorry, die Frage war ziemlich anders...