ios - 关闭软键盘后 Flex 4.6 IOS 屏幕不展开

标签 ios apache-flex flex4 keyboard

我正在使用 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/

相关文章:

ios - 如何解决计算中使用区域设置小数点/逗号的 iOS 错误? (与 NumberFormatter)

iOS SDK(xcodebuild): Clang error cannot specify -o when generating multiple output files

ios - 什么应该拥有 MVC 模式中的模型?

apache-flex - 当区域设置更改时,如何强制为所选项目调用 Flex ComboBox 的 labelFunction?

apache-flex - 文本区语法高亮,flex 4

apache-flex - Flex 构建的 SWF 不再有效,错误 2048、2046、2032

ios - 无法在 Xcode 9 中读取 Images.xcassets 的文件属性

apache-flex - Flex Preloader 有时在达到 100% 之前不显示

flex4 - 警报未在 StageWebview 中显示在前面

list - 如何在Flex 4的Spark List控件中处理click事件