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>