我已经创建了一个自定义辅助功能转子,可以按照此处djibouti33提供的示例Create a custom VoiceOver Rotor to navigate MKAnnotationViews导航自定义注释视图。它在选择自定义转子后工作,但MKMapView的转子始终默认为其他选择。导航自定义注释的能力在App的上下文中最有意义(即,优先考虑导航特定于App的注释)。有没有办法默认选择自定义转子?
与此相关,我认为让VoiceOver声明选择自定义转子的选项也会更直观,但是当触摸MKMapView时,VoiceOver始终声明"使用转子选择感兴趣的点&#34 34 ;.更改地图视图accessibilityHint这样没有效果:
mapView.accessibilityHint = "use the rotor to access alerts"
当选择MKMapView时,是否可以更改VoiceOver所说的内容?
答案 0 :(得分:0)
创建自定义转子后,会将其添加到用户在其设置中选择的一系列转子动作。 不幸的是,用户设置是这种情况下您无法访问的专用框,这就是为什么自定义转子不能成为默认选项的原因,这是用户自愿选择的。
关于第二个问题,您的mapview is a container,并且作为希望将其子级显示为可访问元素的父视图,其isAccessibilityElement
属性为false,表示标签或提示不会被VoiceOver。
如果您想到达地图中的可访问元素,则您的MKMapView本身将永远不会被选中(仅其元素),然后 VoiceOver不会读取任何针对此特定情况的内容,因为它是它的不可见元素。
根据您的应用程序演示,您可以在加载视图时发布通知,或在地图之前添加可访问元素,以指示例如可以使用转子获取某些信息。