如何覆盖自定义UIButton的VoiceOver光标矩形?

时间:2013-02-07 21:21:30

标签: ios accessibility voiceover

我有一个UIViewController,在分割器类型的接口中包含两个UIView。在第一个视图中,我有许多UIButton,它们通常被定位成使得按钮从视图的边缘延伸,因此不完全可见。在这种情况下,VoiceOver光标的问题在于光标环绕按钮的整个范围,因此光标延伸到视图的右侧。

在一个可访问性的培训课程中,我被告知你可以以某种方式覆盖按钮边缘的默认光标,让它包围你喜欢的任何矩形,但我找不到如何做到这一点。

2 个答案:

答案 0 :(得分:1)

听起来您想在每个按钮上设置自定义accessibilityFrame。如果使用CGRectIntersection()将屏幕矩形与每个按钮的框架相交,则可以获取屏幕上每个按钮框架的一部分。

答案 1 :(得分:0)

您可以使用accessibilityFrame ...或accessibilityPath adapt the focus area(如果希望使用Bezier路径)来访问每个想要的元素。在第一种情况下,union方法可能对构造最终矩形非常有用。

最后,别忘了指定accessibilityActivationPoint,以免使用Dynamic Type的不同大小带来不愉快的惊喜。