Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本输入在iOS上不起作用;Multitouch.MapTouchToUse=false";?_Ios_Actionscript 3_Air - Fatal编程技术网

文本输入在iOS上不起作用;Multitouch.MapTouchToUse=false";?

文本输入在iOS上不起作用;Multitouch.MapTouchToUse=false";?,ios,actionscript-3,air,Ios,Actionscript 3,Air,(与Flash Professional CC合作。) 我有一个swf,它只包含一个TextInput和第1帧中的以下脚本: Multitouch.mapTouchToMouse = false; Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; 将此swf for AIR 3.6 for iOS发布后,无论我点击多少次,TextInput都不会占据焦点(显然,它在没有MapTouchToUse=false的情况下工作) 这是一个已

(与Flash Professional CC合作。)
我有一个swf,它只包含一个TextInput和第1帧中的以下脚本:

Multitouch.mapTouchToMouse = false;
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
将此swf for AIR 3.6 for iOS发布后,无论我点击多少次,TextInput都不会占据焦点(显然,它在没有
MapTouchToUse=false
的情况下工作)


这是一个已知问题和/或有任何解决方法吗?

这是Flex TextInput吗?无论如何,问题很可能是组件依赖于
MouseEvent
来设置焦点。将
MapTouchToUse
设置为false意味着所有交互都会触发
TouchEvent
而不是
MouseeEvent
。将其设置为true将同时激发这两个属性。除了由于不必触发双倍事件而导致性能的轻微提升之外,我想不出任何理由希望将此设置为false,因为除了轻微(可能不明显)的性能提升之外,没有任何好处

另外,从live docs获取:

将此属性设置为false可能会导致依赖鼠标事件的现有代码、库和框架在支持触摸输入的设备上无法正常工作


我用一个扩展Textfield的类解决了这个问题,在它的构造函数中我添加了一个TouchEvent.TOUCH\u TAP,如下所示:

private function onTap(event:TouchEvent):void{
    stage.focus = this;
    this.requestSoftKeyboard();
}

这将模仿普通文本字段的行为。

遗憾的是,我有一个很好的理由:它完全杀死了“按钮文字”,否则会对性能产生重大影响(通过Scout分析)。如果你有任何关于如何禁用按钮书写的想法,请告诉我。有趣的是,我以前从来没有注意过。看起来它占用了我正在开发的应用程序所有活动时间的6%(在某些情况下高达50%)。您可以尝试滚动依赖于TouchEvent而不是mouseEvent的自己的TextInput组件。我甚至尝试手动监听textfield上的
TOUCH\u TAP
TOUCH\u BEGIN
事件,然后将它们转换为
mouseEvent
s(
鼠标向下
单击
)通过真实的文本输入发送这些信息,但都没有用。