UIKeyBoard Größe auf die Orientierung auf Querformat ändern
Dies ist sehr rookie-Frage. Ich habe ein UIToolBar an der Unterseite, die soll angeregt nach oben und unten mit Schlüssel-Brett, wenn der UIKeyBoard angezeigt wird. Ich habe, dass die Arbeit mit Hilfe von UIKeyBoard Benachrichtigungen. Das Bild, das wir reden, hat eine geteilte Ansicht aktiviert. Wenn das Gerät Orientierung ist die Landschaft, sowohl die Ansichten als Spalten dargestellt werden [hoffe das macht Sinn].
Wenn die Tastatur angezeigt wird, kann ich dies
CGSize keyBoardSize = [[notificationInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;
CGRect toolbarFrame= [BottomToolBar frame];
toolbarFrame.origin.y -= keyBoardSize.height;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
BottomToolBar .frame = viewFrame;
[UIView commitAnimations];
als key-board ist hiiden ich dies
toolbarFrame.origin.y += keyBoardSize.height;
Mein Problem ist, wenn das Gerät die Ausrichtung ändert, um Landschaft, wenn die Tastatur sichtbar ist, den unteren tool-bar ist Weg. Ich sehe, Sie bewegen sich schnell. Ich bin nicht sicher, wie dieses Problem zu beheben. Kann mir jemand bitte helfen? Auch, gibt es eine Möglichkeit die NICHT zu machen, das key board erstrecken sich über beide Ansichten in der split-Ansicht?
InformationsquelleAutor Dave | 2010-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe auch dieses problem, alles was ich denken kann, ist die Entlassung der Tastatur und reshowing (Rücktritt und dann werden first responder wieder). Aber das scheint mir sehr unbefriedigend.
Beachten Sie auch, sollten Sie umwandeln, die ein Rechteck von Bildschirmkoordinaten zu den view-Koordinaten. (Die Bildschirm-Koordinaten nicht drehen.)
UPDATE: Sie müssen sich registrieren für UIKeyboardWillShowNotification, dann ist Ihre Aktion wird aufgerufen, wenn die Schnittstelle dreht 🙂
Siehe auch:
https://devforums.apple.com/message/181482#181482
InformationsquelleAutor Corin
FYI: Sie können praktisch
UIDeviceOrientationIsPortrait
makro statt, die großeswitch
undcase
monster. 🙂InformationsquelleAutor Thorsten Branaschky
UITextFields haben eine inputAccessoryView Eigenschaft, die erlaubt das hinzufügen einer UIToolBar über die UIKeyboard.
Kein problem, setzen Sie einfach die Werkzeugleiste an der Unterseite, wie die inputAccessoryView und du bist fertig.
InformationsquelleAutor geekinit
InformationsquelleAutor Tom Albrecht
Diese Antworten, die funktionieren gut, außer für externe Tastaturen. Wenn eine hardware-Tastatur vorhanden ist, wie es aussieht ist die "Höhe" - Eigenschaft des Tastatur-Rahmens in der Nachricht übergeben ist noch immer dieselbe wie wäre es mit einer virtuellen Tastatur, was bedeutet dieser code subtrahiert die Höhe von der Ansicht frame für eine nicht vorhandene Tastatur (erstellen einer misslichen Raum).
Die beste Lösung, die ich gefunden habe, ist zu bemerken, dass die "y" - Eigenschaft des Tastatur-Rahmens angegeben ist, werden am unteren Rand des Bildschirm (was bedeutet, dass die virtuelle Tastatur ist tatsächlich vorhanden, nur außerhalb des Bildschirms).
InformationsquelleAutor Zane Claes
Die Lösung ist option setzen
UIViewAnimationOptionBeginFromCurrentState
für block-basierte animation, oderin Ihrem Fall. Dann der Blick wird nicht erhalten eine plötzliche Bewegung beim ändern der Ausrichtung von hochformat zu Querformat.
InformationsquelleAutor lk_vc