天天看點

支援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>