Wie man UIKeyboard Größe mit iOS
Gibt es eine Möglichkeit zu bekommen UIKeyboard Größe programmgesteuert. 216.0 f Höhe und 162.0 f Höhe in der Landschaft.
Folgende zu sein scheinen veraltet. Gibt es eine Möglichkeit, die funktioniert ohne jede Warnung in beide 3.0 iPhone OS 4.0 SDK und iPhone OS SDK, dies zu tun..
CGSize keyBoardSize = [[[note userInfo]
objectForKey:UIKeyboardBoundsUserInfoKey] CGRectValue].size;
- Im Jahr 2011, Apple hat endlich einen guten einführenden über-Tastatur-Handhabung und-Größe: developer.apple.com/library/ios/#documentation/StringsTextFonts/....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Tastatur für die Größe vom
userInfo
Wörterbuch der UIKeyboardFrameBeginUserInfoKey und die UIKeyboardFrameEndUserInfoKey statt.Diese beiden Schlüssel zurückgeben
NSValue
- Instanz mit einemCGRect
hält die position und die Größe der Tastatur an den beiden start-und end-Punkte der Tastatur ein - /ausblenden-animation.Edit:
Zu klären, die
userInfo
Wörterbuch stammt aus einem NSNotification Instanz. Sie übergeben Ihre Methode, dass Sie sich mit einem Beobachter. Zum Beispiel,Edit 2:
Auch, vergessen Sie bitte nicht, um sich als Beobachter in Ihrem
dealloc
Methode! Dies ist zu vermeiden, ein Absturz, der auftreten würde, wenn das notification center versucht zu informieren, Ihr Objekt nach Ihren befreit worden ist.-userInfo
auf, um es zu bekommen?keyboardFrameBeginRect
können unterschiedliche Ursprungs-und Größenwerte als das, was Sie erwarten würde, wenn, zum Beispiel, ist das Gerät in der Landschaft. Um dies zu beheben, konvertieren Sie die zurückgegebenen Rechteck um die entsprechenden Koordinaten. Angenommen, dass der Beobachter ist ein view-controller, fügen Sie eine weitere Zeile code wie diese:CGRect keyboardFrameFixed = [self.view convertRect:keyboardFrameBeginRect fromView:self.view.window];
JetztkeyboardFrameFixed
wird erwartet, dass die Werte egal-Gerät für die Orientierung. Dies ist nützlich, wenn Sie herausfinden wollen, zum Beispiel, die Tastatur ist die Höhe, die die Dinge bewegen, auf dem Bildschirm entsprechend.ARC
haben wir nicht- (void) dealloc
Methode, so können Sie entfernen Sie die Beobachter inviewWillDisappear
Methode.Sollten Sie die
UIKeyboardWillChangeFrameNotification
statt, da einige internationale Tastaturen, wie etwa die chinesische Tastatur, ändern sich die frames im Einsatz. Auch stellen Sie sicher, konvertieren Sie dieCGRect
in der richtigen Ansicht für das Querformat verwenden.[self.view convertRect:keyboardRect fromView:nil]
auf iOS 8 war als ich auf iOS 7...UIKeyboardFrameEndUserInfoKey
! Ich hatte irgendwie bekommen mitUIKeyboardFrameBeginUserInfoKey
, die eigentlich die Größe der Tastatur, bevor die Größe und wunderte sich, warum war alles Durcheinander!Hier ist, wie ich mich letztendlich funktioniert. Ich kombinierte Anregungen und codes von verschiedenen Antworten.
Features: Abberufung der Tastatur, bewegen Sie text-Felder über die Tastatur während der Bearbeitung und Einstellung mit "Weiter" und "Fertig" Tastatur zurück geben.ERSETZEN Sie "..." mit mehr Feldern
Auf swift 4
dann: