2010-07-26 2 views
38

Im manage der Tastatur documentation:UIKeyboardFrameBeginUserInfoKey & UIKeyboardFrameEndUserInfoKey

UIKeyboardFrameBeginUserInfoKey Der Schlüssel für ein Objekt einen NSValue CGRect enthält, die den Rahmenstart identifiziert der Tastatur in Bildschirmkoordinaten. Diese Koordinaten übernehmen keine Konto alle Rotationsfaktoren angewendet auf den Inhalt des Fensters als Ergebnis der Schnittstellenausrichtung Änderungen. So müssen Sie das Rechteck Fensterkoordinaten konvertieren (mit die convertRect: fromWindow: Methode) oder Koordinaten zu sehen (mit der convertRect: fromView: Methode) vor es zu benutzen.

UIKeyboardFrameEndUserInfoKey Der Schlüssel für ein Objekt einen NSValue CGRect enthält, die den Endrahmen der Tastatur in Bildschirmkoordinaten identifiziert wird. Diese Koordinaten übernehmen keine Konto alle Rotationsfaktoren angewendet auf den Inhalt des Fensters als Ergebnis der Schnittstellenausrichtung Änderungen. So müssen Sie das Rechteck Fensterkoordinaten konvertieren (mit die convertRect: fromWindow: Methode) oder Koordinaten zu sehen (mit der convertRect: fromView: Methode) vor es zu benutzen.

Was bedeuten start frame und end frame? Was ist der Unterschied zwischen ihnen?

+0

LOL, die sogar mit IOS7 hat Apple gescheitert zu dokumentieren dies -/in Apple Online-Dokumentation jetzt, die beiden Tasten haben den gleichen Doc-Kommentar, nur mit dem Wort Anfang Ende anders, Doh! – Adam

Antwort

47

Der Startrahmen befindet sich am Anfang der Animation: Offscreen, wenn die Tastatur angezeigt wird, oder Onscreen, wenn die Tastatur ausgeblendet wird. Im End-Frame befindet sich die Tastatur am Ende der Animation: umgekehrt. Sie können den Unterschied zwischen ihnen verwenden, um eine einzelne Methode zu schreiben, die auf das Ausblenden und Anzeigen der Tastatur reagiert.

Stellen Sie sicher, dass Sie auch UIKeyboardAnimationCurveUserInfoKey und UIKeyboardAnimationDurationUserInfoKey verwenden, wenn Sie Ihre Ansichtsänderungen animieren: Auf diese Weise werden Ihre Animationen und die Animationen des Betriebssystems synchronisiert.

Ein weiterer Hinweis: Die Dokumentation, die Sie verknüpft haben, besagt: "Das in den Eigenschaften UIKeyboardFrameBeginUserInfoKey und UIKeyboardFrameEndUserInfoKey des userInfo-Wörterbuchs enthaltene Rechteck sollte nur für die darin enthaltenen Größeninformationen verwendet werden. Verwenden Sie nicht den Ursprung des Rechtecks immer {0.0, 0.0}) in Rechteck-Schnitt Operationen ". Zumindest auf dem iPad unter OS 3.2 trifft das nicht zu. Beide Rekruten haben die gleiche Größe, während der Ursprung, der in Bildschirmkoordinaten ist, zwischen den beiden unterscheidet.

Sie diese Frage hilfreich sein kann: UIKeyboardBoundsUserInfoKey is deprecated, what to use instead?

+5

Danke für den tollen Tipp über UIKeyboardAnimationCurveUserInfoKey und UIKeyboardAnimationDurationUserInfoKey! – ohho

+0

Gern geschehen.Wenn Sie zufällig gerade an Textansichten innerhalb einer Tabellenansicht arbeiten, lassen Sie mich wissen, was Sie herausgefunden haben. –

Verwandte Themen