我希望我的QR码扫描应用程序在找到QR码时通知用户 . 对于有视力的用户,这可以使用底部的标签进行更新以通知用户 . 但是,盲人用户必须再次点击该标签才能通过Voice Over读取 . 我更喜欢它只是自动阅读 .
我能找到的最接近这个问题的是UIAccessibility - Read all the labels and buttons on the screen from top to down,这对于我的应用来说是个好兆头,就在一年前 . Apple是否以任何方式更新了它的UIAccessibility协议以允许此操作?
作为最后的手段,我想如果启用VoiceOver,我可以播放自己的mp3录音 .
任何帮助是极大的赞赏!
2 回答
您可以通过以下方式随时让VoiceOver说出任何字符串:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, NSLocalizedString("QR code has been detected", comment: ""))
Swift 4
没有直接的方法告诉VoiceOver说出VoiceOver光标未打开的元素的更新 . 这(即“手动”说出相同的内容)是可行的解决方法 .
您可以使用以下方法将VoiceOver焦点移动到元素:
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,elementToFocusOn)
然后,VoiceOver将解析并读取与该元素关联的辅助功能属性 .