2013-07-27 47 views
1

我有繪製物品的地圖。地圖處理觸摸事件,並將觸摸的項目確定爲按鈕。如何對UIAccessibilityElement子類中的「修改內部」事件做出反應?

我將地圖製作成容器並實現了返回accessibleElements的方法。對於每個項目,我創建一個UIAccessibilityElement子類的實例。

看來UIAccessibilityAction協議沒有對「tap」或「button pressed」事件進行回調。 那麼我會如何用UIAccessibilityElement模仿UIButton的效果呢?

回答

0

假設您在iOS 5或iOS 6下運行,請考慮以下解決方法。它不是最優的,但將工作,直到有更好的方式:

  1. 創建一個虛擬視圖,本身,一個無障礙元素。
  2. 在此視圖上,執行您的「水龍頭」處理-touchesEnded:withEvent:
  3. 將您的輔助功能元素的accessibilityActivationPoint設置爲落在此虛擬視圖內的值。

當相應的輔助功能元素被激活時,您的啞視圖將會收到觸摸事件。如果VoiceOver和其他輔助技術未運行,請務必忽略啞視圖中的觸控操作。

編輯:另一個不太好的方法是在您關注的視圖上實現輕擊手勢識別器,將座標從-touchesEnded:withEvent:轉換爲屏幕座標,然後手動按照您的輔助功能元素的框架對點進行測試。

相關問題