天天看点

支持voice over

iphone 设置-->通用 -->辅助功能 -->voiceover

开启voiceover后交户意义会发生变化:

轻点一下来选择项目

轻点两下激活所选项目

三指轻扫来滚动

<a href="http://www.apple.com/cn/accessibility/ios/voiceover/" target="_blank">voice over辅助功能和特点</a>

单击:a single-click focuses the inspector on an element

双击:simulate a tap on an element

滚动:先把"accessibility inspector"关闭,用鼠标滚动或者双手触控键盘滑动

两个方法:

1.设置isaccessibilityelement

2.遵守uiaccessibility协议,并实现其中isaccessibilityelement方法

如果视图还含有子视图,并且是这些子视图与用户交互。比如uitableview视图,我们需要设置子视图uitableviewcell的voice over属性,同时保证uitableview不支持voice over。

1.只给子视图设置isaccessibilityelement。比如uitableview视图不设置isaccessibilityelement,直接设置uitableviewcell的isaccessibilityelement,和accessibilitylabel。

2.自定义的父视图(子视图的容器)实现 <code>uiaccessibilitycontainer</code> 协议. 这个协议定义了一个数组accessibleelements存储着所有voice over 可访问的元素。

直接设置性

实现uiaccessibility的方法

如果你的uitableviewcell的里面还有很多子 view,并且你想点击它们的时候有反应。你需要:

让每个元素独立地支持voice over

tableview cell不支持voice over(not accessible)

cell元素的label简单描述cell的整体内容

在uitabaleviewcell类本就设计遵守uiaccessibilitycontainer,所以我们可以直接写

或者,设置

推荐文章:

<a href="https://developer.apple.com/library/ios/documentation/userexperience/conceptual/iphoneaccessibility/making_application_accessible/making_application_accessible.html#//apple_ref/doc/uid/tp40008785-ch102-sw5" target="_blank">accessibility programing guide</a>

<a href="http://nshipster.cn/uiaccessibility/" target="_blank">voice over: uiaccessibility</a>