Mit dem iOS SDK:
Ich habe eine UIView
con UITextField
s, die eine Tastatur aufrufen. Ich brauche es in der Lage zu sein:
-
Erlaubt das Scrollen des Inhalts der
UIScrollView
um die anderen Textfelder zu sehen, sobald die Tastatur eingeblendet wird -
Automatisches "Springen" (durch Scrollen nach oben) oder Verkürzen
Ich weiß, dass ich eine UIScrollView
. Ich habe versucht, die Klasse meiner UIView
を、その UIScrollView
aber ich kann die Textfelder immer noch nicht nach oben oder unten verschieben.
Benötige ich sowohl eine UIView
und eine UIScrollView
? Passt das eine in das andere?
Was muss implementiert werden, um automatisch zum aktiven Textfeld zu blättern?
Idealerweise wird die Einrichtung der Komponenten so weit wie möglich im Interface Builder vorgenommen. Ich möchte nur Code für das schreiben, was ich brauche.
Anmerkung: Die UIView
(o UIScrollView
), mit dem ich arbeite, wird über eine Registerkartenleiste angezeigt ( UITabBar
), die wie gewohnt funktionieren muss.
Ich füge die Bildlaufleiste nur dann hinzu, wenn die Tastatur angezeigt wird. Auch wenn es nicht benötigt wird, habe ich das Gefühl, dass es eine bessere Schnittstelle bietet, weil der Benutzer dann scrollen und Textfelder ändern kann, zum Beispiel.
Ich habe es so hinbekommen, dass ich die Rahmengröße der UIScrollView
wenn die Tastatur auf und ab geht. Ich benutze einfach:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); // Resize
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
// Keyboard will hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); // Resize
}
Allerdings werden dadurch die unteren Textfelder nicht automatisch nach oben verschoben oder im sichtbaren Bereich zentriert, was ich eigentlich gerne hätte.
0 Stimmen
Sie können das Textfeld animieren, so dass sich das Textfeld bewegt, wenn die Tastatur hochkommt
7 Stimmen
Sehen Sie sich das an. Kein Ärger für Sie. TPKeyboardVermeiden
24 Stimmen
Das ist von Apple dokumentiert, und ich denke, das ist der beste Weg: developer.apple.com/library/ios/#documentation/StringsTextFonts/
0 Stimmen
Automatisches Layout und tastaturabhängiges Layout, von ghawk.gu Der Artikel geht auch auf die Ausrichtung im Hoch- und Querformat ein.
0 Stimmen
Unter dem folgenden Link wird erklärt, wie man in einer Ansicht blättern kann, um Felder anzuzeigen, darunter UITextField versteckt durch Tastatur sehr deutlich mit klarem Code und Diagrammen Klick mich 1 Der untenstehende Git-Hub-Link enthält einen laufenden Quellcode Klick mich 2
0 Stimmen
Eine sehr gute Anleitung mit Bildern finden Sie unter: cocoawithlove.com/2008/10/
0 Stimmen
Das ist eine gute Lösung, die bei mir funktioniert hat: github.com/simonbs/BSKeyboardControls
62 Stimmen
Sie brauchen nur 1 Zeile in der Datei appdelegate.m und es funktioniert. github.com/hackiftekhar/IQKeyboardManager
10 Stimmen
Der beste Weg, den ich bisher gefunden habe, ist dieser Open Source TPKeyboardVermeiden
0 Stimmen
IQKeyboardManager funktioniert nicht im 4s-Protraitemodus
0 Stimmen
Diese Lösungen waren für mich besser: stackoverflow.com/a/15036744/1234031
0 Stimmen
UITableViewController mit UITextFields innerhalb der statischen Zellen wäre eine gute Lösung für diese Art von Anforderungen, probieren Sie es aus.
0 Stimmen
Für alle, die ein
storyboard
und versuchen, es zum Laufen zu bringen, es aber nicht können, stellen Sie einfach sicher, dassself.view
a führend , top y hintereconstraints
definiert. Andernfalls wird es wahrscheinlich nicht für IQKeyboardManager oder für die folgenden Antworten funktionieren.0 Stimmen
Sie müssen sich nicht auf die Erstellung von benutzerdefiniertem Code verlassen, um eine Ansicht nach oben zu verschieben, wenn die Tastatur angezeigt wird. Sie können einfach die Bibliothek IQKeyboardManagerSwift verwenden, die auch für Objective-C-Code verfügbar ist.
0 Stimmen
Swift 3.0 Version von Äpfeln Tastatur-Management-Code ist hier : medium.com/@abhimuralidharan/
0 Stimmen
Mögliches Duplikat von Größe des Bildschirms ändern, wenn die Tastatur erscheint
0 Stimmen
Folgen Sie dem untenstehenden Link, stackoverflow.com/questions/48922266/
0 Stimmen
Hier ist die allgemein, einfach und beliebt Lösung! stackoverflow.com/a/41808338/294884
0 Stimmen
stackoverflow.com/questions/1126726/