我有一個UITableView
顯示項目列表,其子類爲UITableViewCell
。在該單元格,我有UILabel
S和子視圖像這樣一個層次結構:如何使iOS VoiceOver讀取視圖和子視圖作爲一個整體
UITableViewCell subclass
- UILabel a
- UILabel b
- UILabel c
- UIView subclass 1
- UILabel 1a
- UILabel 1b
- UIView subclass 2
- UILabel 2a
- UILabel 2b
我想VoiceOver會讀在這裏提出的順序所有標籤。我在這裏應該注意到,在視覺上,UIView
子類中的標籤是相反的順序(例如,UILabel
1b位於UILabel
1a之上)。
某些標籤需要將'accessibilityLabel'屬性設置爲某個自定義字符串。一旦知道文本,就可以在UITableViewCell
的配置中完成,無論是直接標記還是子視圖。我也將shouldGroupAccessibilityChildren
屬性設置爲YES。
現在,我的行爲是:VoiceOver讀取頂層UILabel
(a,b & c在該示例中)。然後,如果我滑動以獲取下一個元素,它將讀取UIView
子類1,然後是2等。讀取這些子類時,讀取順序無誤(UILabel
1a,然後1b等)。
我可以做到這一點嗎?或者用戶絕對需要刷卡?
不是100%清楚,但你看着使用'accessibilityElements',或者禁用包含標籤的可訪問性並在容器上設置標籤? – Wain
現在,用戶必須滑動3次才能聽到一個單元格的所有信息(一個用於頂層標籤,一個用於每個「UIView」子類)。我希望所有的信息都能在第一次滑動時說出來。在我的測試中,設置'accessibilityElements'使得VoiceOver一次只能說一個信息(因此用戶在我的例子中必須滑動7次)。我希望這可以增加問題的清晰度! – invalidArgument