Mit folgenden Observern lasse ich mich über das ein- und ausblenden der virtuellen Tastatur benachrichtigen:
Die Benachrichtigung benötige ich in einem WKWebView mit verschiedenen Formularen, wo ich in meiner UI einen zusätzlichen Bereich einblenden will, wenn man in einem Textfeld ist und die virtuelle Tastatur eingeblendet wird.
Mein Problem ist nun, dass UIKeyboardWillShow und UIKeyboardDidShow schon gefeuert werden, wenn man in den WKWebView nur irgendwo auf einen leeren Bereich klickt. Die Tastatur erscheint zwar nicht aber der Observer wird informiert, dass das Keyboard angezeigt wird.
Noch komischer ist es bei SELECT-Feldern. Klickt man eins an, wird UIKeyboardWillShow aufgerufen. Klickt man dann auf einen leeren Bereich, wird UIKeyboardWillHide gesendet. Wählt man dagegen eine Option aus, wird nichts mehr gesendet. Die Tastatur wird in allen Fällen jedoch nicht angezeigt.
Ist das ein Bug in Verbindung mit WKWebView oder hat jemand eine Erklärung für dieses Verhalten? Kenn jemand eine Lösung oder einen anderen Weg, wie ich genau ermitteln kann, ob momentan das Keyboard angezeigt wird oder nicht?
iOS 11
Xcode 9
getesten im Simulator und auf dem iPad
Gruß
Quellcode
Mein Problem ist nun, dass UIKeyboardWillShow und UIKeyboardDidShow schon gefeuert werden, wenn man in den WKWebView nur irgendwo auf einen leeren Bereich klickt. Die Tastatur erscheint zwar nicht aber der Observer wird informiert, dass das Keyboard angezeigt wird.
Noch komischer ist es bei SELECT-Feldern. Klickt man eins an, wird UIKeyboardWillShow aufgerufen. Klickt man dann auf einen leeren Bereich, wird UIKeyboardWillHide gesendet. Wählt man dagegen eine Option aus, wird nichts mehr gesendet. Die Tastatur wird in allen Fällen jedoch nicht angezeigt.
Ist das ein Bug in Verbindung mit WKWebView oder hat jemand eine Erklärung für dieses Verhalten? Kenn jemand eine Lösung oder einen anderen Weg, wie ich genau ermitteln kann, ob momentan das Keyboard angezeigt wird oder nicht?
iOS 11
Xcode 9
getesten im Simulator und auf dem iPad
Gruß
So Long, and Thanks for All the Fish.