2013-08-27 52 views
0

我有一段可怕的時間來獲取TextField,一旦集中,發送任何與鼠標有關的事件。在Android上,AIR 確實會發送派發鼠標事件,但iOS中沒有任何事件。AIR iOS TextField在聚焦後不發送鼠標或觸摸事件(AS3)

具體來說,我正在尋找MOUSE_DOWN,MOUSE_MOVE和MOUSE_UP事件,或相同的觸摸狀態。

我試着在舞臺上,TextField上,TextField上方的對象上設置鼠標和觸摸事件,甚至嘗試過NativeApplication.nativeApplication.addEventListener(TouchEvent/MouseEvent),儘管最後一個看起來不是-起動機。我也試過只看Stage.mouseX和mouseY屬性,但是一旦TextField獲得焦點,它們就會沉默。

我正在使用Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT。

如果TextField未被聚焦,則會觸發事件,但一旦它沒有得到任何內容。任何幫助表示讚賞!

回答

2

,因爲TextField組件(僅適用於iOS)是一對夫婦兩個部分組成: 1.當它沒有焦點或不可編輯,而不是選擇 - Flash的文本字段 2.當它具有焦點,編輯 - 原生的iOS的的UITextView 。它將顯示在Flash的TextField上方的最上一層。 爲了取回Flash的TextField,您可以使用stage.focus(或.setFocus?)方法。

+0

感謝您的回覆。問題是我需要能夠通過鼠標右鍵在TextField本身上移動*已經聚焦的TextField。我實際上並不在乎它是否在拖動開始後失去焦點,但拖動需要在TextField仍然聚焦時開始。再次,我試圖拖動一個TextField,它具有焦點,使用TextField本身作爲曲面。看起來TextField正在吸收/忽略任何類型的鼠標/觸摸事件,所以我的聽衆沒有任何收穫。這在Android的gosh工作! – Joseph

+0

如果您需要與本機UICompnents完全交互,則可以使用「重新分派」觸摸事件創建簡單的ANE(AIR本機擴展)。 –

+0

是的,我認爲這可能是我遇到問題後的路徑。唉,製作一個我的知識還不夠。你能指點我一個關於使用顯示組件的ANE的教程嗎? – Joseph

0

stagetext可以滿足您的用例而不是flash.text.textfield嗎?

+0

感謝您的建議 - 我應該提到這也是行不通的。如果它們出現在TextField或StageText的範圍內,則不會將觸摸/鼠標事件傳播給我的偵聽器。 所以我的下一個問題是:有沒有人想讓一個ANE文本框給我鼠標和/或觸摸事件的佣金? – Joseph

+0

我不知道你的確切用例。但是,如何傾聽focusIn和focusOut在舞臺文字上,然後從事件處理程序將您自己的事件發送到顯示列表。 –

+0

嗯,你看,就是這樣,我不會得到一個focusIn或focusOut或*鍵盤事件以外的任何*,因爲我正在尋找的觸摸/鼠標發生*內* TextField已經在焦點。已經處於焦點之後再次觸摸它不會使其離焦或重新對焦。這似乎是一個全面的觸摸/鼠標黑洞。不過謝謝你的想法。所以我會再問一次 - 那裏的任何人都有能力編寫一個ANE,它能夠:(a)只是給我iOS上原始的全球觸摸事件,或者(b)可以向我的應用程序提供缺失的觸摸事件(以任何形式)? – Joseph