IPad abtun Tastatur ohne zu wissen, was es geöffnet Textfeld
-
11-10-2019 - |
Frage
Gibt es eine Möglichkeit, eine allgemeine resignFirstResponder
zu tun, um die Tastatur auszublenden, unabhängig davon, was Textfeld / view / etc nennt es?
Der Grund hierfür ist ich viel Textfelder auf meiner Ansicht haben und wollen nicht resignFirstResponder
haben für alle Textfelder um die Tastatur auszublenden. Ich will nur eine allgemeine
[self resignFirstResponder]
.
Irgendwelche Ideen?
Vielen Dank im Voraus
Lösung
Der einfachste Weg, dies zu tun, ist es, ein Verfahren zu haben, um, wenn Sie die Tastatur, die wie folgt aussieht entlassen wollen:
-(void)dismissKeyboard {
[firstField becomeFirstResponder];
[firstField resignFirstResponder];
}
Andere Tipps
Ich weiß, dass dies bereits als beantwortet markiert worden, aber für diejenigen, die laufen in diesem, wie ich Sie haben kann nur die folgende Methode auf der Ansicht verwenden, die die Textfelder enthält.
- (BOOL)endEditing:(BOOL)force
sieht diese Methode in der aktuellen Ansicht und ihre subview Hierarchie für das Textfeld, das zur Zeit der Ersthelfer ist. Wenn es einen findet, fragt es, dass Textfeld als Ersthelfer zum Rücktritt. Wenn die Kraftparameter auf YES gesetzt ist, wird das Textfeld nicht einmal gefragt; es wird zum Rücktritt gezwungen. UIView Dokumentation
[self.view endEditing:YES];
es wird Tastatur verstecken, wenn wir auf Sicht klicken.
Sie können die Tastatur ohne Bezug auf UITextField / UITextView entlassen mit Hilfe von folgenden Code:
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
Dies wird die Tastatur entlassen global, ohne die Referenz.
hoffe, dies wird Ihnen helfen.
Sie können diese Fragen prüfen:
- Ist es möglich, die iPhone Tastatur unsichtbar / entfernen, ohne resignieren Ersthelfer?
- Hide Input Tastatur auf dem iPhone ohne zu wissen First Responder / a>
Zusammengefasst: Sie können becomeFirstResponder auf eine andere Sache nennen, dass Sie sich entscheiden. Es könnte ein UIViewController oder ein UIView sein. Ich hatte ein ähnliches Problem vor, musste ich meine Tastatur weg gehen lassen, wenn ich meine Ansicht-Controller wieder in seine Anrufer drückt, ohne zu wissen, welche Textfeld der Ersthelfer war. Dann auf viewWillAppear meiner Ansicht-Controller, die ich wieder zurückkehren, rief ich [self becomeFirstResponder] und die Tastatur der geschoben Ansicht verschwunden war. Da diese aus je nachdem, welches Textfeld war es verliert die Ersthelfer zu sein
In meinem eigenen App, wenn ich mehr als ein Textfeld an und möchte die Tastatur weggehen, unabhängig, welche die Felder, die es genannt wird, würde ich nur eine Methode geschrieben und jede und jeden von ihnen resignFirstResponder
lassen.
Ich gehe davon aus, dass als Programmierer, sollten Sie die klare Erkenntnis, wie viele Textfelder auf Ihrem View-Controller sind und wie Sie auf sie zugreifen können, sonst wird es erhalten verkorkste und Sie App wird nicht gut aussehen ... :-P