首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex 4.6 TextInput,ios错误提示

Flex 4.6 TextInput,ios错误提示
EN

Stack Overflow用户
提问于 2012-06-06 19:18:57
回答 3查看 5.7K关注 0票数 5

在ios上,TextInput让人觉得很奇怪。以下代码:

代码语言:javascript
复制
        <s:TextInput id="password" width="100%" displayAsPassword="true"
                     needsSoftKeyboard="true" 
                     prompt="Password"  
                     softKeyboardType="default"
                     returnKeyLabel="done"
                     autoCorrect="false"
                     skinClass="spark.skins.mobile.TextInputSkin"
                     />

当我选择textInput时,提示符按预期消失,但第一个字符是自动选择的。当按下第二个键时,第一个字符将被删除。只有在键入第一个字符并且该字段有提示消息时,才会发生这种情况。"autoCorrect“似乎什么也做不了。

有没有人知道解决这个问题的办法?我查看了SkinnableTextBase类,但没有找到任何错误代码。

这个问题从Flex 4.6开始。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-07 17:50:44

花了几个小时研究Flex代码后,我终于意识到Flex不是问题所在。Air 3.2 (也在Air 3.3测试版中)会出现此问题。如果我用Air 3.1编译,一切都很好。

我已经尝试了各种方法,但似乎没有办法在Air3.2 +中修复它。我检查了我的其他项目,似乎我所有使用Air3.2编译的应用程序都有类似的问题:

更新

问题出在Flex SDKSkinnableTextBase.as中的某个地方。

当调用textDisplay_changeHandler(event:Event)时,invalidateSkinState()会导致问题。如果您将皮肤的状态设置为nothing (""),它将正常工作:

代码语言:javascript
复制
skin.currentState = "";
invalidateSkinState();

问题是主题没有正确更新(它是一个h@ck)。

如果在CSS中将"showPromptWhenFocused"设置为false,则问题不会发生;唯一的副作用是,当您选择textInput时,提示会消失。

代码语言:javascript
复制
s|TextInput
{
    skinClass:ClassReference("spark.skins.mobile.TextInputSkin");
    showPromptWhenFocused: false;
}

希望这对某些人有帮助。

票数 14
EN

Stack Overflow用户

发布于 2012-12-20 14:36:35

使用FB4.6和Air3.5的spark皮肤解决了Textinput的飞行问题。我认为真正的问题来自Air。但现在软键盘在聚焦时不能激活。

代码语言:javascript
复制
<s:TextInput id="mail"  softKeyboardType="email" skinClass="spark.skins.spark.TextInputSkin" />
票数 3
EN

Stack Overflow用户

发布于 2012-06-18 12:14:20

您正在滚动TextInput吗?如果没有,你可以使用新的Flex4.6 TextInput移动皮肤。新的皮肤使用StageText,这可能会纠正您的问题。删除属性skinClass="spark.skins.mobile.TextInputSkin“,它应该默认为新的皮肤。

代码语言:javascript
复制
<s:TextInput id="password" width="100%" displayAsPassword="true"
                 needsSoftKeyboard="true" 
                 prompt="Password"  
                 softKeyboardType="default"
                 returnKeyLabel="done"
                 autoCorrect="false"
                 />

注意:如果您滚动TextInput,并且您必须像现在一样使用Flex4.5移动皮肤,则StageText不能正确呈现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10913156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档