我正在改进我的 iOS 项目的可访问性并且正在使用 UINavigationController。我的 UINavigationItem 有两个按钮,左边一个是“取消”。
默认情况下,取消按钮在显示视图时被选中。所以用户听到的第一件事是“取消”。
我真正想要的是标题应该被选中并说出,而取消按钮不应该被选中。
问题:
- 这是应该的,这可能是什么原因?
- 有没有人成功取消选择按钮,而是选择了标题?
谢谢, 克拉斯
我正在改进我的 iOS 项目的可访问性并且正在使用 UINavigationController。我的 UINavigationItem 有两个按钮,左边一个是“取消”。
默认情况下,取消按钮在显示视图时被选中。所以用户听到的第一件事是“取消”。
我真正想要的是标题应该被选中并说出,而取消按钮不应该被选中。
问题:
谢谢, 克拉斯
来自Apple 的 UIAccessibility Guide:
UIAccessibilityLayoutChangedNotification - 当屏幕布局发生变化时由应用程序发布,例如当元素出现或消失时。此通知包含一个参数,该参数可以是 VoiceOver 朗读的 NSString 对象,也可以是 VoiceOver 移动到的辅助功能元素。
所以你可以做这样的事情:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,title);
}
您应该将上述代码中的“标题”替换为您希望被选中和朗读的实际辅助功能元素。
您还可以使用UIAccessibilityScreenChanged而不是UIAccessibilityLayoutChanged “当出现包含屏幕主要部分的新视图时”。