您的位置:首页 > 其它

VoiceOver中isAccessibilityElement和accessibilityElementsHidden的区别

2016-03-31 17:03 525 查看
NSObject
的扩展
NSObject(UIAccessibility)
中,有两个属性

@property(nonatomic) BOOL isAccessibilityElement

@property(nonatomic) BOOL accessibilityElementsHidden


这两个都可以使“VO元素”不支持“VO”。(VO:VoiceOver简称,VO元素:支持VocieOver的元素,在代码中被写为
accessibilityElement


可以设置

view.isAccessibilityElement = NO;


或者

view.accessibilityElementsHidden = YES;


这两个的元素区别是:
isAccessibilityElement
是针对当前“VO元素”的,而
accessibilityElementsHidden
是针对当前“VO元素”以及其所包含的所有“VO元素”的。

举个
isAccessibilityElement
的例子。

一个
Button
里面有个
Label
,如果这时候设置
button.isAccessibilityElement = NO;
UIButton的isAccessibilityElement默认为YES
),使用VoiceOver时会发现还是可以使用,只不过选中区域由原来的
Button
区域缩小为
Label
区域了。

反之,如果只把
Label
isAccessibilityElement
设为
NO
,和没设效果是一样的——选中为
Button
区域。

再举个
accessibilityElementsHidden
的例子

如果我们需要把一个
ViewController
根View
以及内部所有
子View
都不支持VoiceOver,只需要在
ViewController
中这样写就可以了。

self.view.accessibilityElementsHidden = YES;


所有的“VO元素”就都隐藏“VO”功能了。

分别看下官方文档的解释。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VoiceOver 不支持 屏蔽