diff --git a/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m b/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m index 97255d2..4e0fe05 100644 --- a/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +++ b/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m @@ -364,6 +364,7 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N - (void)ObservingInputAccessoryViewTempKeyboardWillDisappear:(ObservingInputAccessoryViewTemp *)ObservingInputAccessoryViewTemp { _bottomViewHeight = kBottomViewHeightTemp; + _ObservingInputAccessoryViewTemp.height = 0; [self updateBottomViewFrame]; } diff --git a/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m b/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m index 1ca52e8..69ac77a 100644 --- a/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m +++ b/node_modules/react-native-ui-lib/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m @@ -111,44 +111,57 @@ - (void)setHeight:(CGFloat)height _height = height; [self invalidateIntrinsicContentSize]; + [_delegate ObservingInputAccessoryViewTempDidChangeFrame:self]; } - (void)_keyboardWillShowNotification:(NSNotification*)notification { - _keyboardState = KeyboardStateWillShow; + if (_keyboardState == KeyboardStateHidden) { + _keyboardState = KeyboardStateWillShow; - [self invalidateIntrinsicContentSize]; + [self invalidateIntrinsicContentSize]; - if([_delegate respondsToSelector:@selector(ObservingInputAccessoryViewTempKeyboardWillAppear:keyboardDelta:)]) - { - [_delegate ObservingInputAccessoryViewTempKeyboardWillAppear:self keyboardDelta:_keyboardHeight - _previousKeyboardHeight]; + if([_delegate respondsToSelector:@selector(ObservingInputAccessoryViewTempKeyboardWillAppear:keyboardDelta:)]) + { + [_delegate ObservingInputAccessoryViewTempKeyboardWillAppear:self keyboardDelta:_keyboardHeight - _previousKeyboardHeight]; + } } } - (void)_keyboardDidShowNotification:(NSNotification*)notification { - _keyboardState = KeyboardStateShown; + if (_keyboardState == KeyboardStateWillShow) { + _keyboardState = KeyboardStateShown; - [self invalidateIntrinsicContentSize]; + [self invalidateIntrinsicContentSize]; + } } - (void)_keyboardWillHideNotification:(NSNotification*)notification { - _keyboardState = KeyboardStateWillHide; + if (_keyboardState == KeyboardStateShown) { + _keyboardState = KeyboardStateWillHide; - [self invalidateIntrinsicContentSize]; + [self invalidateIntrinsicContentSize]; - if([_delegate respondsToSelector:@selector(ObservingInputAccessoryViewTempKeyboardWillDisappear:)]) - { - [_delegate ObservingInputAccessoryViewTempKeyboardWillDisappear:self]; + [_delegate ObservingInputAccessoryViewTempDidChangeFrame:self]; + + if([_delegate respondsToSelector:@selector(ObservingInputAccessoryViewTempKeyboardWillDisappear:)]) + { + [_delegate ObservingInputAccessoryViewTempKeyboardWillDisappear:self]; + } } } - (void)_keyboardDidHideNotification:(NSNotification*)notification { - _keyboardState = KeyboardStateHidden; + if (_keyboardState == KeyboardStateWillHide) { + _keyboardState = KeyboardStateHidden; - [self invalidateIntrinsicContentSize]; + [self invalidateIntrinsicContentSize]; + + [_delegate ObservingInputAccessoryViewTempDidChangeFrame:self]; + } } - (void)_keyboardWillChangeFrameNotification:(NSNotification*)notification