Ich habe eine benutzerdefinierte Ansicht (NotifyView
) auf UIWindow
mit einer Schaltfläche entlassen (die es aus entfernen). Diese Ansicht wird hinzugefügt, wenn eine PUSH-Benachrichtigung eingeht didReceiveRemoteNotification
Es gibt mehrere Fälle, in denen ich auf einem beliebigen Bildschirm sein könnte, und meine Tastatur ist UP über UITextfield
/UITextview
. In diesem Stadium, wenn ein Stoß kommt, wird die NotifyView
auf UIWindow
hinter der Tastatur hinzugefügt. Ich möchte die Tastatur zurücktreten, sobald die PUSH so dass empfangen wird, denn ich konnte:Tastatur vom Bildschirm entfernen, ohne resignFirstResponder anrufen
Posten Mitteilung mit
NSNotificaitonCenter
alle Textfelder/Textviews zum Rücktritt (wenn jemandfirstResponder
). Dazu muss ich in allen Controllern den aktiven Zeiger auf das gerade aktive Textfeld/Textview halten.machen Sie eine Variable in AppDelegate und weisen Sie ihr und auf PUSH die aktiven Textfelder/Textansichten zu und auf PUSH
resignFirstResponder
.
Beide Lösungen erfordern würde Änderungen für alle Controller Code machen, und ich bin auf der Suche nach etwas allgemeineren wie:
- könnte eine Möglichkeit da sein, durch die ich einfach die Tastatur aus dem entfernen könnte Bildschirm beim Empfang PUSH
- oder ich könnte den aktuellen FirstResponder der Anwendung holen und explizit zurücktreten.
Dies könnte generische Lösungen sein.
Es wäre wirklich hilfreich, wenn jemand diesen Gedankenprozess erleichtern könnte oder jemand eine sofortige Lösung für diesen Fall hätte.
duplizieren? http://StackOverflow.com/Questions/1823317/get-the-current-first-Responder-without-using-a-private-api – rdurand