我正在使用 Flex 4.6 为 IOS 和 Android 编写应用程序。在 Android 上一切正常,但在 IOS 上出现软键盘并且屏幕平移后,当键盘关闭时,屏幕永远不会向下平移。屏幕的下半部分保持白色,上半部分仍然移出视线。我一直在网上搜索并通过我的代码试图找出可能出了什么问题,但我没有运气。我一直在 Debug模式下运行程序,但没有显示 AS3 错误消息。我的 trace() 已打印,应用程序将继续工作,但显然您无法与应用程序的上半部分进行交互。如果我将 XML 中的 softkeyboardBehavior 设置为 none,则一切正常,但是用户看不到他们在哪里输入。
我只能在装有 IOS 5.0.1 的 iPod touch 上对此进行测试。当我尝试在 Flash Builders 模拟器中运行我的项目时,Android 和 IOS 版本都不会通过启动屏幕。
任何帮助将不胜感激
谢谢
最佳答案
我已经看到来自 TextInput 的 softKeyboardDeactivate 事件没有被触发,因为 unpan 应该导致的其他操作也没有被触发。
看来这是一个 Flex 4.6 版本的错误。 (http://forums.adobe.com/message/4068144)。
我找到了一种解决方法,它有点棘手,但它有效。
将一个新的 TextInput 隐藏在 View 的顶部,然后在原始 TextInput 上的 focusOut 事件上,强制将焦点放在隐藏的 TextInput 上。将为该 TextInput 激活软键盘事件,并且平移将返回到 View 的顶部,然后从新的 TextInput 中移开焦点,软键盘将消失。
用户不会注意到这个棘手的解决方案。
<s:TextInput id="ghost" x="-100" y="0" width="0" height="0"/>
<!-- ... -->
<s:TextInput id="original" focusOut="textInputFocusOutHandler(event)"/>
...
public function textInputFocusOutHandler(event:FocusEvent):void
{
this.ghost.setFocus();
callLater(this.setFocus);
}
关于ios - 关闭软键盘后 Flex 4.6 IOS 屏幕不展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075457/