Ich möchte Funktionalität hinzufügen, um die Tastatur auf UITextFields
und UITextViews
zu verwerfen, wenn die Benutzer außerhalb der Tastatur tippen. Ich habe eine ähnliche Ansicht wie New Event in iOS Calendar, das sind eine Reihe von statischen Tabellenzellen, von denen einige Textfelder haben und einige an eine Show-Ansicht gesendet werden (wie die "Repeat" -Zelle im New Event in der Kalender-App).iOS-Tastatur vom Tippen abweisen, ohne Tabellenansicht zu unterbrechen Zellenabgriffsfunktionalität
Ich habe versucht, mit dem folgenden:
override func viewDidLoad() {
super.viewDidLoad()
//Looks for single or multiple taps.
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
view.addGestureRecognizer(tap)
}
//Calls this function when the tap is recognized.
func dismissKeyboard() {
//Causes the view (or one of its embedded text fields) to resign the first responder status.
view.endEditing(true)
}
aber bricht die Funktionalität der Zellen, die tippen, um eine Show zu segue. Ich kann das umgehen, indem ich einfach die Tastatur auf "Return" setze, aber das kann ich nicht mit meiner UITextView
machen, da das eine neue Zeile hinzufügt. Die Kalender App entlässt die Tastatur in der UITextView
auf, was scheint, ein Streichen nach oben und unten zu sein, aber ich bin mir nicht sicher, wie ich diese Funktionalität selbst hinzufügen, wie ich neu in iOS-Programmierung bin.
Irgendwelche Lösungen, um dieses Problem zu umgehen?
Also versuchte ich 'self.tableView.keyboardDismissMode = .OnDrag' (.Interactive schien nicht für mich, etwas zu tun) und es scheint, wie ich arbeiten wollte, oben oder unten ziehen entlässt die Tastatur sowohl in Textfeld/Aussicht. Aber wenn ich wische, um zu entlassen, bekomme ich das im Log ausgedruckt '- [UIWindow endDisablingInterfaceAutorotationAnimated:] angerufen> ohne passende -beginDisablingInterfaceAutorotation. Ignorieren. Ist das etwas, worüber ich mich Sorgen machen muss? –
Nein, das ist nur eine falsche tastaturbezogene Nachricht. Wenn Sie Zeit haben, melden Sie dies Apple, aber Sie können es ignorieren. – matt