我有一个包含一些控件的UIView(例如按钮,标签等).我将此视图覆盖到另一个视图(使用addSubview).如果用户启用了VoiceOver,则可以向左和向右滑动以选择控件.但是,如果我隐藏视图以使控件不再可见,则用户仍然可以滑动并选择它们(尽管它们实际上不起作用).由于这对盲人用户来说非常困惑,我想保持这种情况不会发生.我甚至尝试删除包含控件的视图(使用removeFromSuperview)但是用户仍然可以滑动以选择它们(尽管突出显示它们的小框不再位于正确的位置).就像VoiceOver已经记住那些控件曾经存在并且会永远记得那些.
我还找到了属性'accessibilityElementsHidden',我已经尝试在包含隐藏的控件的视图上将其设置为YES,但这似乎也不起作用.
这是VoiceOver中的错误,还是我错过了什么?有解决方法吗?
谢谢.
Dav*_*ham 10
"记忆"部分让我觉得你UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil)在删除子视图后没有做过类似事情.
"accessibilityElementsHidden"的文档说明:
一个布尔值,指示是否隐藏此辅助功能元素中包含的辅助功能元素......此属性的默认值为NO.您可以使用此属性隐藏新视图到达所涵盖的视图.在这种情况下,隐藏视图可能仍然在屏幕上可见,但它们不是用户操作的焦点.
您也可以使用此属性隐藏VoiceOver用户无需注意的瞬态视图.例如,VoiceOver不需要描述用户调整设备音量时出现的半透明视图,因为此操作的听觉反馈已足够.
因此,基于此,为了让VoiceOver忽略这些子视图,您实际上希望在父视图上将其设置为"YES".
| 归档时间: |
|
| 查看次数: |
4304 次 |
| 最近记录: |