UIView 可访问性问题

Posted

技术标签:

【中文标题】UIView 可访问性问题【英文标题】:UIView accessibility issue 【发布时间】:2010-12-07 05:06:45 【问题描述】:

我开发了一个 iPhone 应用程序,其中大部分都可以访问,但我做的一件事有问题。

当用户单击应用程序中的设置按钮(它有一个主菜单,其中包含用于各种应用程序的一堆按钮)时,我在顶部添加一个 UIView 并使背景屏幕变暗。不幸的是,对于盲人来说,这个 UIView 并没有变得“活跃”,即他们仍然在背景屏幕上导航。

我最初使用addSubview: 添加 UIView,然后尝试insertSubview: atIndex:,但都没有按预期运行。

编辑:更多信息在这个屏幕上有文本字段和一个按钮,也许我可以让其中一个处于活动状态或其他什么?不知道我会怎么做。

【问题讨论】:

【参考方案1】:

使用becomeFirstResponder怎么样?它使接收此消息的控件和输入的接收器处于活动状态。对于 UITextView 等,它会调出键盘。

【讨论】:

这有点像我一直在尝试的。作为旁注,我不得不使用 resignFirstResponder ,因为在我删除它的阶段它仍然保留在内存中,并且盲人被保留在非显示屏幕上。不是 100% 确定它是否已发布,这与技术上可能会被可访问性框架保留的情况相同,并且发布它不会产生任何影响。同样在显示视图时,用户不会收到通知。我可能会将第一个标签设置为第一响应者...【参考方案2】:

我没听懂你在说什么,但我认为顶部添加的视图可能有问题。

做一件事,如果您使用界面构建器添加了视图,然后选择视图并单击菜单栏中的布局菜单并选择“发送到后面”。

否则,如果您通过代码添加,则将代码编写为

[self.view sendSubViewToBack:addedView];

问候,

萨提亚

【讨论】:

这可能与将其插入顶部索引相同。还有一个问题,当我使用 removeFromSuperview 删除视图时,它实际上仍然处于活动状态。

以上是关于UIView 可访问性问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使自定义 UIView 可访问?

自定义 UITableViewCell 可访问性

使用可访问性标识符访问标签文本

UITableViewRowAction 可访问性值

通过单元格中的可访问性标识符访问 UIButton

iOS 可访问性无法识别屏幕上的任何内容