升级到0.26.0-rc版本后,在iOs上这一行:
DeviceEventEmitter.addListener('keyboardWillShow', (e)=>this.updateKeyboardSpace(e));
什么都不做。键盘打开时,永远不会调用updateKeyboardSpace
方法。
我正在导入DeviceEventEmitter:
import React from 'react';
import {DeviceEventEmitter} from 'react-native';
我从版本0.21升级,它在那里工作正常。
答案 0 :(得分:10)
It seems like you can not use this kind of event listener any more. 这似乎是handled by the Keyboard component now,它使用本机库。对于iOS it is defined here,事件名称似乎相同;但是,我找不到Android实现。您需要测试这是否有效,但对于iOS,这应该可以解决问题:
import {Keyboard} from 'react-native';
Keyboard.addListener('keyboardWillShow', (e)=>this.updateKeyboardSpace(e));
修改强>
API解释只是内部的。对于正常使用,可以使用callbacks on the ScrollResponder。 You could use either onKeyboardWillShow
和onKeyboardWillHide
。 ScrollResponder Mixin用于ScrollView和ListView,因此您可以在那里使用此道具。
答案 1 :(得分:5)
在Android上,您可以使用这两个事件:
onDestroy()
在0.26.0上测试