iOS Voiceover 从覆盖的 UIWindow 中读取
Posted
技术标签:
【中文标题】iOS Voiceover 从覆盖的 UIWindow 中读取【英文标题】:iOS Voiceover reads from covered UIWindow 【发布时间】:2018-07-05 16:54:50 【问题描述】:我有以下设置:
UIWindow 0,windowLevel 0,rootController是app的主体,占据整个屏幕,isHidden为false,不是关键窗口 UIWindow 1,windowLevel 1,rootController 是辅助屏幕,占满整个屏幕,不透明,isHidden 为假,为关键窗口问题:
当启用画外音并且我触摸窗口 1 中没有可以交互的元素的区域,但窗口 0 确实有这样的元素时,它会选择并读取窗口 0 中的元素,甚至虽然窗口 0 根本不可见。
我有什么遗漏吗?
【问题讨论】:
【参考方案1】:原来有两种方法可以解决这个问题:
-
在窗口 0 上将 accessibilityElementsHidden 设置为 true。不理想,因为它必须在窗口 1 消失时恢复。
在窗口 1 上将 accessibilityViewIsModal 设置为 true。所有窗口都是同级窗口,因此出于可访问性目的,这将忽略窗口 0。我认为这不会影响状态栏和键盘等特殊窗口。这可能是最好的解决方案。
【讨论】:
您是否在窗口本身(又名.UIWindow
实例)上将accessibilityViewIsModal
设置为true
?以上是关于iOS Voiceover 从覆盖的 UIWindow 中读取的主要内容,如果未能解决你的问题,请参考以下文章