2

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

Multitouch.mapTouchToMouse = false;
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

为 iOS 的 AIR 3.6 发布这个 swf,无论我点击多少次 TextInput 都不会获得焦点(它显然可以在没有 的情况下工作mapTouchToMouse = false)。

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

4

2 回答 2

0

我通过拥有一个扩展 Textfield 的类来解决这个问题,并在它的构造函数中添加了一个 TouchEvent.TOUCH_TAP ,如下所示:

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

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

于 2015-01-14T16:53:37.150 回答
0

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

此外,来自现场文档Multitouch.mapTouchToMouse

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

于 2013-07-10T16:02:01.513 回答