作爲一項對自己的可訪問性和個人挑戰的練習,我決定編寫一個相對簡單的應用程序。在啓用VoiceOver的MKMapView上觸發觸發開始
該應用程序會顯示美國的MKMapView
,當您點擊任何地方時,它會使用MKReverseGeocoder
向您顯示您點擊的地點,州和國家。這工作正常,但我必須通過在MKMapView
上添加WildcardGestureRecognizer
來劫持觸摸事件。這很適用於關閉VoiceOver
。
當我打開VoiceOver
並點擊地圖時,它會顯示「地圖」。如果我雙擊它會使點擊噪音小,表明您已經啓動它。說實話,我不知道如何攔截這些事件。我知道一般的解決方案是在整個屏幕上方放置一個透明的視圖並傳遞觸摸,但是這將與VoiceOver
一起工作?
爲了記錄在案,我使用的是WildcardGestureRecognizer
這裏找到: How to intercept touches events on a MKMapView or UIWebView objects?