From 6b552838e5c035a7887dfca5ecb9a140e4759ce2 Mon Sep 17 00:00:00 2001 From: Neil Ashford Date: Fri, 14 Jul 2017 11:16:28 +1000 Subject: [PATCH 1/2] Fixed the bug where changing the topSpacing prop did not rerender the component. --- KeyboardSpacer.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/KeyboardSpacer.js b/KeyboardSpacer.js index 43eefb9..92dcf55 100644 --- a/KeyboardSpacer.js +++ b/KeyboardSpacer.js @@ -89,11 +89,11 @@ export default class KeyboardSpacer extends Component { // when external physical keyboard is connected // event.endCoordinates.height still equals virtual keyboard height // however only the keyboard toolbar is showing if there should be one - const keyboardSpace = (screenHeight - event.endCoordinates.screenY) + this.props.topSpacing; + const keyboardSpace = screenHeight - event.endCoordinates.screenY; this.setState({ - keyboardSpace, - isKeyboardOpened: true - }, this.props.onToggle(true, keyboardSpace)); + keyboardSpace, + isKeyboardOpened: true + }, this.props.onToggle(true, keyboardSpace)); } resetKeyboardSpace(event) { @@ -108,13 +108,20 @@ export default class KeyboardSpacer extends Component { LayoutAnimation.configureNext(animationConfig); this.setState({ - keyboardSpace: 0, - isKeyboardOpened: false - }, this.props.onToggle(false, 0)); + keyboardSpace: 0, + isKeyboardOpened: false + }, this.props.onToggle(false, 0)); } render() { return ( - ); + + ); } } From 4852440bb2d7bbee8f417918cd7994d20d8910f8 Mon Sep 17 00:00:00 2001 From: Neil Ashford Date: Tue, 18 Jul 2017 10:27:53 +1000 Subject: [PATCH 2/2] fixed top spacing so that it only shows when the keyboard spacer is present --- KeyboardSpacer.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/KeyboardSpacer.js b/KeyboardSpacer.js index 92dcf55..2c16da1 100644 --- a/KeyboardSpacer.js +++ b/KeyboardSpacer.js @@ -118,7 +118,11 @@ export default class KeyboardSpacer extends Component {