Ich versuche, ein Textfeld zu verschieben, das sich im unteren Bereich einer Tabellenansicht befindet (in der Fußzeile). Also habe ich versucht, zwei Methoden:Verschieben einer Tabellenansicht, wenn die Tastatur angezeigt wird
- Um Automatisches Layout Einschränkung
- Animate Inhalt Einsätze eines Tableview zu animieren
Noch nicht von ihnen arbeiteten oder teilweise gearbeitet. Derzeit ist mir dies nicht in der Lage zu testen, auf einem echten iPad (App ist nur iPad) und ich auf Simulator mich entschieden, aber ich dachte, so etwas wie dies funktionieren soll:
Animieren contentInsets
func keyboardWillShow(notification: NSNotification) { if let keyboardHeight = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue.height { UIView.animate(withDuration: 0.2, animations: { self.tableView.contentInset = UIEdgeInsetsMake(0, 0, keyboardHeight, 0) }) } } func keyboardWillHide(notification: NSNotification) { UIView.animate(withDuration: 0.2, animations: { self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0) }) }
Animieren automatische Layout-Einschränkung
So in erstem Beispiel habe ich nie bemerkt animati on, noch der Inhalt von tableview content. Im zweiten Beispiel habe ich einen Outlet einer Auto-Layout-Constraint (vertikaler Abstand unten) gemacht, aber ich bekomme einige seltsame Ergebnisse. zB TableView bewegt sich nach oben, aber nicht vollständig und nur zum ersten Mal.
Wenn ich einen Haltepunkt setzen, ist keyboardHeight
gleich 471
. Ich vermisse etwas Offensichtliches?
Verwenden [IQKeyboardManager] (https://github.com/hackiftekhar/IQKeyboardManager#installation- with-cocoapod-) – pkc456
@ pkc456 Sorry, keine 3rd Party ist eine Option für mich. – Whirlwind
Warum können Sie nicht am Simulator testen? – Devster101