iMessage-Style-Keyboard in einer iOS App
Habe ich mich schon gefragt, ob es möglich ist, zu replizieren, die das Verhalten von apples iOS5 Tastatur in der Nachrichten app, ohne Verwendung von privaten API-Aufrufe. Wenn Sie Blättern Sie nach unten vorbei an der Tastatur in der Nachrichten app, die Tastatur wird zusammenbrechen, so dass mehr Platz zum anzeigen von Nachrichten - versuchen Sie, es zu sehen.
Ich konnte nichts finden, Punkte zu machen, ohne zu starten springen durch einige schwere Reifen um eine Instanz von der Tastatur-Ansicht. Und ich bin mir ziemlich sicher, dass Apple würde nicht gerne mit.
Zusätzlich zu der Antwort unten sehen Sie einen fertig gebackenen xcode-Projekt meine Umsetzung hier:
https://github.com/orta/iMessage-Style-Receding-Keyboard
InformationsquelleAutor der Frage orta | 2011-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine unvollständige Lösung, aber es sollte Ihnen einen guten Ausgangspunkt.
Fügen Sie den folgenden ivars Ihrer UIViewController:
Hinzufügen eines inputAccessoryView in Ihren text ein controller. Ich habe eine kleine übersicht eingefügt, wie die accessoryView:
Habe ich den oben genannten code, um
-(void)loadView
Abonnieren UIKeyboardDidShowNotification und UIKeyboardDidHideNotification, wenn die Ansicht geladen wird:
Methoden hinzufügen angegeben wie die Selektoren für die Benachrichtigungen:
Hinzufügen von Methoden zu verfolgen, berührt und aktualisieren Sie die Tastatur-Ansicht:
Haftungsausschluss:
Den SlidingKeyboard Projekt, das ich erstellt um zu testen, dieses Konzept ist von GitHub im examples-Verzeichnis der BindleKit:
https://github.com/bindle/BindleKit
Edit: Update Beispiel für Adresse ersten Haftungsausschluss.
InformationsquelleAutor der Antwort David M. Syzdek
In iOS 7 gibt es eine keyboardDismissMode Eigenschaft auf UIScrollView.
So einfach setzen Sie ihn auf "UIScrollViewKeyboardDismissModeInteractive" und, bekommst du dieses Verhalten. Arbeitet in UIScrollView Unterklassen wie UITableView.
Swift 3:
Ändern oder im storyboard (falls Sie ihn verwenden) in den attributes-Inspektor für Ihre UIScrollView Unterklasse.
InformationsquelleAutor der Antwort Vladimir Shutyuk
Wladimir einfache Lösung wird die Tastatur auszublenden, wie der Benutzer scrollt. Doch zum Abschluss die Frage bezüglich iMessage, um ein TextField-Objekt immer sichtbar und verankert, um den oberen Rand der Tastatur, müssen Sie diese Methoden implementieren:
Hier ist ein gutes tutorial es brechen mehr
InformationsquelleAutor der Antwort Oren