AS3 /空调移焦点从一个文本字段在IOS

问题描述:

我使用Flash Pro中CS6,AS3,Air3.8下一个。而我使用文本框输入。我试图做到这一点,当用户按下“完成”它将转移到下一个领域。我在所有的论坛上都发现有关这方面的信息有冲突,包括这个。我做了搜索,但从未找到了解决.. 我肯定接受的事件,我尝试添加标识的键码线,这已证实,它正在接收键盘码13.我实际上是由它把键码到我想要的场重点转移到成功..它只是拒绝把重点放在该领域..AS3 /空调移焦点从一个文本字段在IOS

我使用的代码是在文档中声明,它不会在iOS中工作..但它的工作进一步沿着同一页面的脚本,以及另外两个的...我:

stage.addEventListener(KeyboardEvent.KEY_DOWN,keyhandler); 


function keyhandler(event:KeyboardEvent){ 
if(event.charCode == 13) 
{ 
stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyhandler); 
stage.focus = null; 
stage.focus = nextTextField; 
} 
} 

我试过了,而首先将监听到文本字段,然后将其改为阶段,既没有工作。我尝试过“requestsSoftKeyboard”和切断人其他方面,我已经看到张贴在IOS据说工作,但他们没有工作。有使用相同stage.focus为null等功能,其次是stage.focus到myTextField将和他们的工作,但他们启动按下舞台上的按钮,而不是软键盘上的按钮。该工程存在的代码是一个标准的if语句:

if (TextField == "") 
{ 
stage.focus=null; 
stage.focus=TextField; 
}else if (NextTextField == "") 
{ 
stage.focus = null; 
stage.focus = NextTextField; 
}else if (TextFieldAfterThat == "") 
{ 
stage.focus = null; 
stage.focus = TextFieldAfterThat; 
} 

这继续通过各方面,始终转到正确的用软键盘打开时,光标闪烁,并准备键入..每一次。我知道听众是从软键盘“完成”收到的,因为大写字母的功能起作用,并且当我添加了代码以确认其工作的键码时。我也有使用“则charCode” AND“键码”。我不知道有什么区别发现访问该值,但都返回13和没有工作对我来说.. 还有另外一个地方,我使用相同的代码,使一个TextField激活并在用户按下一个单选按钮后设置焦点,并且这些都是每次都工作。

我不知道有什么区别的推压来“完成”与按舞台上的一个对象,但它拒绝将焦点设置与完成按钮。 任何人有任何想法或做过这项工作吗?

我有成功assingning重点在iOS版StageText这样的:

stageText.assignFocus(); 

StageTextTextField提供了许多优势,因为它显示了一个本地文本输入。我知道的唯一缺点是你不能使用自定义字体。

这是documentationtutorial

我还没有“完成”键尝试,但我没有你正在努力实现与“Enter”键是什么和它的工作。另外请注意,在iOS中,“完成”键是为了隐藏键盘,所以这可能是您为什么会遇到这些问题。

+0

是..我看到StageText的..我写的应用程序为Android最初,我现在要做的iOS。因为有这么多,我希望不必重写所有的文本字段。 “完成”键触发与“Enter”时相同的“13”值。我想我可能最终不得不把它们全部切换到stageText,但如果有人有任何其他建议,我很乐意听到。 – Chris

+0

如果你使用'StageText'路线,最简单的方法就是编写自己的包装器,只需将经典文本字段的类更改为“StageTextWrapper”。是的,你必须用getter/setters编写包装器,但是你可以保持你以前的代码几乎完好无损。 – Pier

+0

这是真的..我将不得不考虑一下...谢谢。你有没有玩过基督徒的NativeText包装?我试图决定是否会节省时间来使用它,或者如果我应该去写我自己的... – Chris

使用组件FPTextField,您可以监听事件,单击完成。在这段视频中,相比StageText的和FPTextField:http://www.youtube.com/watch?v=BKYaoLtEmCU

使用ANE库FPNativeUI:http://flashpress.ru/blog/ane/native-ui/?lang=en