當VoiceOver的是有源iOS設備上,單手指滑動(左或右)手勢允許用戶瀏覽在視圖中的不同元素。有沒有辦法檢測用戶在使用配音時是否使用了單指輕掃手勢?當VoiceOver的是,有沒有辦法一個應用程序可以檢測一個手指(左,右)刷卡?
1
A
回答
7
你可能會問任兩件事情:
你想知道什麼時候VoiceOver的用戶成功發出左/右的手勢的VoiceOver單指輕掃 - 的VoiceOver會處理(「偷」)從你的代碼中做出的手勢並做它的事情(將VoiceOver光標移動到下一個/上一個元素)。你可以得到的最接近的是得到通知一個UIView時VoiceOver光標土地上或離開它(見UIAccessibilityFocus protocol)。
你想使你的UI的部分不受VoiceOver手勢(VoiceOver會不會處理(「偷」)在這方面的手勢),這樣就可以檢測自己的手勢(包括左單指滑動/正確)以標準方式進行處理,並以您想要的方式處理它們。然後,你必須將
UIAccessibilityTraitAllowsDirectInteraction
特徵添加到accessibilityTraits
屬性相關UIView
(見UIAccessibility protocol有詳細介紹)。這何處使用的一個突出的例子是在GarageBand的iOS - 鋼琴鍵盤或鼓具有這種特性,使用戶的VoiceOver可以在樂器演奏頭也不回的VoiceOver關閉。
0
我最終在UIView上創建了一個category/extension並覆蓋了accessibilityElementDidBecomeFocused()。
在這裏我可以得到一個全局鉤子,它被調用每一個可訪問性狀態發生變化的時間。
斯威夫特例如:
extension UIView {
//MARK: Accessibility
override public func accessibilityElementDidBecomeFocused() {
super.accessibilityElementDidBecomeFocused()
UIApplication.sharedApplication().sendEvent(UIEvent())
}
}
相關問題
- 1. iOS4無法檢測左右刷卡
- 2. 有沒有辦法檢測一個網站是否使用SPDY?
- 3. 有沒有辦法檢測一個鍵是否被按下?
- 4. 有沒有辦法一個接一個檢查程序的流程?
- 5. 有沒有辦法啓動一個Express應用程序?
- 6. 有沒有辦法做一個「無法檢測的,iframe代碼」
- 7. 有沒有辦法讓一個程序可以檢測到圖像是否被編輯?
- 8. 有沒有什麼辦法可以使指針指向一個引用?
- 9. 有沒有辦法爲一個頁面創建一個FB應用程序?
- 10. 有沒有辦法檢測一個原始參數是可變大小?
- 11. 有沒有辦法測試PHPUnit以外的Symfony應用程序?
- 12. 有沒有辦法使用JavaScript動態檢測從右到左的佈局?
- 13. 有沒有辦法把一個Heroku的Java應用程序作爲一個Facebook應用程序
- 14. 有沒有辦法檢查一個var是否使用setInterval()?
- 15. 有沒有辦法可以在一個元素上應用兩個vue.js庫?
- 16. 有沒有什麼辦法可以用一個拇指作爲另一個拇指的來源?
- 17. 有沒有辦法手動序列化一個集合?
- 18. 有沒有辦法在另一個應用程序中顯示一個應用程序?
- 19. 有沒有辦法檢測一個進程是否正在用C#加密或刪除一個文件?
- 20. 有沒有辦法可以啓動另一個程序,而無需做fork()?
- 21. 有沒有辦法創建一個ipad應用程序,以避免完全的應用程序商店
- 22. 有沒有什麼辦法可以查看應用程序
- 23. 有沒有辦法寫一個NSTimer,所以它暫停一秒鐘的程序?
- 24. 有沒有辦法檢測apk是否存儲在SD卡上?
- 25. 有沒有辦法用一個「模式」
- 26. 有沒有辦法讓用戶進入另一個應用程序的市場?
- 27. 有沒有辦法在一個完全篩選的程序上覆蓋一個應用程序?
- 28. 有沒有什麼辦法可以發佈Android應用程序進行測試?
- 29. 有沒有辦法檢查一個屬性是否超載?
- 30. 有沒有辦法檢查下一個令牌是否結束?
感謝您迴應,第一個看起來像它會用我的方案工作。我會繼續閱讀文檔。 – 3254523