http://www.lite3.cn/blog/?p=744
前段时间项目测试突然发现中文输入不正常,有时IME会失效,反复测试后发现这是fp10.1的一个bug.
然后提交到 http://bugs.adobe.com/jira/browse/FP-4813
可是正式版的flashplayer已经发布了,要修复这个bug也要等到下个flashplayer版本
我们的项目可等不了那么久,于是找找其他解决办法, Google,百度后都没有提到过类似的问题.
设置IME.enabled = true也不管用.
仔细测试后发现:Flex的TextInput可以输入中文,既然flex的可要输入,那么TextField也应该可要输入中文的.
于是翻开mx.controls.TextInput的源码仔细查看. 几经测试后终于在一处注释处发现了一点线索.
We don't call IME.conversionMode here. We call it only on focusIn. Thus fringe cases like setting imeMode dynamically without moving focus, through keyboard events, wouldn't change the mode. Also getting imeMode asynch. from the server which gets delayed and set later after focusIn is not handled as having the text partly in one script and partly in another is not desirable.
既然说在获得焦点后设置imeMode,那么我是不是也应该在focuseIn后设置IME.enabled呢
说干就干,马上做了一个测试,果然成功了 困扰我多时的问题终于解决了
具体代码如下:
input.addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
function focusInHandler(e:FocusEvent):void
{
IME.enabled = true;
}
分享到:
相关推荐
通过这种方法,我们可以精确地控制textField中文输入的长度,而无需担心因编码问题导致的计数错误。同时,这个解决方案不仅限于限制中文字符,还可以适用于其他多字节字符集,如日文、韩文等。 总的来说,理解和...
textField输入中文字符时,直接在代理方法里限制会有问题,因为系统会将高亮部分一起算入字符数,从而造成明明没有到达限制上限,输不进去的情况。 该方法利用分类与runtime结合,用block作为回调,只需一行代码即可...
在iOS开发中,`UITextField`是用户界面中用于单行文本输入的标准组件。然而,有时候我们可能需要`UITextField`能够支持多行文本输入,也就是自动换行,这在处理长文本或者用户需要填写段落信息时非常有用。本文将...
Java中的`TextField`类是Swing库中的一个基础组件,用于创建用户可以在其上输入文本的单行文本字段。在GUI编程中,`TextField`是一个非常常见的元素,它允许用户输入和编辑一行文本。以下是对`TextField`类的详细...
在iOS和Android等移动应用开发中,`TextField`(在iOS中称为`UITextField`,在Android中称为`EditText`)是用户输入文本的基本组件。它允许用户在屏幕上输入、编辑和查看文本,是构建交互式应用程序不可或缺的部分。...
在Flash中,文本字段(TextField)是用于显示和编辑文本的基本元素。在特定的设计或动画需求中,我们可能需要让文本以某种方式旋转,以实现动态效果或视觉吸引力。"Flash 文本框 旋转 textfield"这个主题就是关于...
在Swift编程中,`textField` 是用户界面(UI)中用于接收单行文本输入的重要组件。在某些场景下,我们可能需要限制用户输入特定的字符,比如特殊符号,以确保数据的格式正确或防止恶意输入。本篇文章将深入探讨如何在...
在某些场景下,我们可能需要对用户的输入进行限制,比如限制输入的字符数量、允许输入的字符类型等。在Swift中,我们可以利用Apple提供的API以及自定义扩展来实现这些功能。以下将详细讲解如何在Swift中对`...
在本文中,我们将深入探讨`TextField`如何实现多行输入,即自动换行的功能,并揭示一个小小的惊喜——只需导入一个字体文件就能为用户带来独特的交互体验。 首先,`TextField`在Android中的主要功能是提供一个单行...
在iOS开发中,`textField` 是一个非常常见的控件,用于接收用户输入的文字信息。在很多情况下,我们可能需要在用户交互时管理键盘的显示和隐藏,以优化用户体验。在这个"textField的一个简单例子"中,我们将探讨如何...
flutter在开发登陆界面的时候,输入内容后回车光标要跳转到下个TextField,有时FocusScope.of(context).requestFocus,不起作用,经过多次查找资料,最后找到一个相对适应实际应用的方法,提供源码下载 ,请查阅!...
4. **信息采集优化**:在信息采集类的场景下,例如表单填写,`TextField-InputView`可能会有特定的优化,比如自动验证输入数据、滑动切换不同输入类型等,提升用户填写信息的效率。 5. **可扩展性**:作为一个开源...
然而,标准的UITextField在处理多行文本时可能存在局限,因为它默认不支持自适应高度,即不能根据输入内容的多少自动调整自身的高度。标题"textfield文件的自适应高度"指向的就是如何让UITextField适应其内容的长度...
在QML(Qt Quick)中,`TextField`是用于用户输入文本的基本组件,而`Completer`则是一种增强用户体验的功能,它可以提供输入建议,帮助用户快速完成输入。本项目"QML-TextField-Completer.zip"显然是一个关于如何在...
在iOS和Android应用开发中,`TextField`(在iOS中称为`UITextField`,在Android中称为`EditText`)是用户输入文本的基本组件。本主题将深入探讨如何自定义`TextField`,以满足特定的设计和功能需求,从而提高用户...
基于TextField的图文混编组件是一种解决方案,它利用了Adobe Flash(ActionScript 3,AS3)中的TextField类来实现这一功能。TextField在Flash中是一个基础的文本显示和编辑控件,它可以处理简单的文本输入,但通过...
在IT行业中,文本输入控件是用户界面设计中不可或缺的一部分,它们允许用户输入和编辑文本。在本文中,我们将深入探讨“TextArea”和“TextField”这两个在ActionScript 3(AS3)中用于处理文本输入的组件,以及如何...
Ext.form.TextField是Ext JS中的一个核心组件,它允许用户在表单中输入单行文本。这个组件可以用于创建各种类型的输入字段,如普通文本输入、密码输入、电子邮件地址输入等,通过设置不同的配置选项来满足不同的需求...
在iOS开发中,特别是在Xcode 5.0.2及iOS 7.0的环境下,设计用户界面时,经常会遇到需要创建自适应高度的UITextField。这个需求通常出现在我们想要实现键盘弹出时文本框自动调整高度以适应内容,或者在一个布局中包含...
在iOS开发中,文本输入是用户界面不可或缺的一部分。在许多应用场景中,我们可能需要对用户的输入进行特定的限制,例如限制输入的字符数、只允许输入数字或字母等。`UITextField`是iOS SDK中用于接收单行文本输入的...