0

touchesBegan/Moved/etcジェスチャーを追跡して画面に描画するために使用するアプリを作成しています。touchesBeganVoiceOver をオンにして、描画領域をダブルタップすると、タップが実際に発生した場所に関係なく、最初のタッチは常にビューの中央に (に) 表示されます。アイデア?

ビューのアクセシビリティ プロパティを

self.isAccessibilityElement = true           // Default is false.
self.accessibilityElementsHidden = false     // Default is false anyway.
4

1 に答える 1

1

これは、VoiceOver がジェスチャをトラップし、より基本的なイベントに変換するためです。これにより、障害のあるユーザーがアプリケーションをより簡単に操作できるようになります。これにより、アプリケーションのアクセシビリティが完全に損なわれますが、必ずしもお勧めしません。あなたが探しているのはUIAccessibilityTraitAllowsDirectInteractionです。繰り返しますが、これにより、ほとんどの場合、アクセシビリティが完全に損なわれます。しかし、描画アプリでは、これは理にかなっており、部分的にサイトにアクセスしているユーザーのアクセシビリティに役立ちます。

目の不自由なユーザーには、アプリが描画スペースであり、通常の VoiceOver ジェスチャは画面の他の領域で実行する必要があることを明確にする必要があります。また、VoiceOver の標準的な使用を禁止するために、ビューが画面を占有しすぎないようにしてください。

于 2015-12-07T03:36:14.373 に答える