[英]How to fix/debug a VoiceOver bug?
它卡住了。 它只關注狀態欄(所以它根本看不到應用程序)或者它暫時關注應用程序中的標題欄(所以我可以在該字段中的大約 3 個元素之間更改焦點)。 在這種情況下,關閉和打開 VO 和標准手勢都不能幫助用戶。
該應用程序很大,因此很難確定確切原因。 這就是為什么我想知道你將如何調試它。 但通常該應用程序具有登錄屏幕和內部屏幕。 當應用程序啟動並立即進入其中一個內部屏幕時,VO 完美運行。 當應用程序啟動並通過登錄屏幕時,VO 在登錄后卡住。
要在登錄屏幕和內部屏幕之間切換,我使用 UIApplicationDelegate
let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc: WantedViewController = storyboard.instantiateViewController(withIdentifier: "WantedViewControllerId") as! WantedViewController
self.window?.rootViewController = vc
self.window?.makeKeyAndVisible()
也許對VO來說變化太大了。 該應用程序還使用了 JGProgressHUD,但我認為我檢查得很好,這不是一個原因。
歡迎提出任何建議和問題!
如果您使用的是本機 UIKit 小部件,則應內置輔助功能,並且 Voiceover 應找到該小部件。 如果您有自定義小部件,則需要設置isAccessibilityElement
。
提供的代碼確實導致了這個問題。 我建議有類似問題的人改為執行 sergue:
performSegue(withIdentifier: "SegueToWantedViewControllerId", sender: nil)
在情節提要中定義它,例如將Kind
設置為Present Modally
並將Presentation
設置為Full Screen
以獲得相同的結果,但 VoiceOver 可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.