簡體   English   中英

如何修復/調試 VoiceOver 錯誤?

[英]How to fix/debug a VoiceOver bug?

我的VO有什么問題?

它卡住了。 它只關注狀態欄(所以它根本看不到應用程序)或者它暫時關注應用程序中的標題欄(所以我可以在該字段中的大約 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM