【发布时间】:2017-12-13 17:06:44
【问题描述】:
我目前有一个KeyboardAvoidingView,其中硬编码的keyboardVerticalOffset 为 64。这在 iPhone 上运行良好,但在 iPhone X 上短约 20 像素。
组件如下所示:
<KeyboardAvoidingView behavior='padding' keyboardVerticalOffset={ 64 }>
<View style={ styles.messageList }>
...
</View>
<View style={ styles.messageInput }>
...
</View>
</KeyboardAvoidingView>
有没有比硬编码一个值更好的方法来确定keyboardVerticalOffset 应该是什么?在组件放置方面我还可以做些什么不同的事情吗?我愿意接受任何建议。
iPhone 8
iPhone X
【问题讨论】:
-
另一件要考虑的事情是,当您更改键盘类型时,键盘可以改变大小。我不熟悉如何在 reactNative 中处理它,但在本机 iOS 代码中,您将注册为
UIKeyboardWillChangeFrameNotification通知的观察者。您将收到通知的 userInfo 将为您提供键盘框架的详细信息。 stackoverflow.com/a/35427662/3708242。但我不确定是否有办法在 react native 中捕获通知。 -
你有没有想过解决这个问题?
标签: ios iphone react-native react-native-ios