diff --git a/ios/KeyboardMovementObserver.swift b/ios/KeyboardMovementObserver.swift index c31a02e10c..137c402e3e 100644 --- a/ios/KeyboardMovementObserver.swift +++ b/ios/KeyboardMovementObserver.swift @@ -65,26 +65,6 @@ public class KeyboardMovementObserver: NSObject { name: UIResponder.keyboardDidHideNotification, object: nil ) - NotificationCenter.default.addObserver( - self, - selector: #selector(windowDidBecomeVisible), - name: UIWindow.didBecomeVisibleNotification, - object: nil - ) - NotificationCenter.default.addObserver( - self, - selector: #selector(windowDidBecomeHidden), - name: UIWindow.didBecomeHiddenNotification, - object: nil - ) - } - - @objc func windowDidBecomeHidden(_: Notification) { - removeKVObserver() - } - - @objc func windowDidBecomeVisible(_: Notification) { - setupKVObserver() } private func setupKVObserver() { @@ -116,8 +96,8 @@ public class KeyboardMovementObserver: NSObject { ) { // swiftlint:disable:next force_cast if keyPath == "center", object as! NSObject == _keyboardView! { - // if we are currently animating keyboard or keyboard is not shown yet -> we need to ignore values from KVO - if displayLink != nil || keyboardHeight == 0.0 { + // if we are currently animating keyboard -> we need to ignore values from KVO + if displayLink != nil { return } @@ -170,6 +150,7 @@ public class KeyboardMovementObserver: NSObject { onNotify("KeyboardController::keyboardWillHide", data) setupKeyboardWatcher() + removeKVObserver() } @objc func keyboardDidAppear(_ notification: Notification) { @@ -184,6 +165,7 @@ public class KeyboardMovementObserver: NSObject { onNotify("KeyboardController::keyboardDidShow", data) removeKeyboardWatcher() + setupKVObserver() } } @@ -191,8 +173,6 @@ public class KeyboardMovementObserver: NSObject { var data = [AnyHashable: Any]() data["height"] = 0 - keyboardHeight = 0.0 - onEvent("onKeyboardMoveEnd", 0 as NSNumber, 0) onNotify("KeyboardController::keyboardDidHide", data)