2015-11-25 15 views
0

設定VoiceOver的初始焦點在我們的iOS應用,我們有一個UINavigationController的屏幕,三的UIBarButtonItem在rightBarButtonItems,與一個UITableView子視圖一個UIView內容視圖。如何在一個UITableView

每次應用程序獲取到前臺時,VoiceOver會將最初專注於最左邊的UIBarButtonItem。我們希望將重點放在UITableView中的最頂層單元格(初始開始)或用戶在應用程序進入背景之前主動選擇的單元格。

我們試圖調用UIAccessibilityPostNotification(),但這隻適用於我們添加延遲並且看起來非常脆弱並且會讓用戶感到困惑的問題,因爲焦點將在UIBarButtonItem上開始,然後跳轉。

回答

0

據我所知uiaccessibilitypostnotification與延遲效果很好,即使它是脆弱的,你可以調用該方法前0.5秒的延遲在視圖中確實出現方法!!!!

也有另一種方式,你可以試試。加載view後,禁用條形按鈕的可訪問性,並僅爲tableview設置可訪問性!您需要更改陣列中的accessibilityElements陣列和第一要素應該是table view,並設置isAccessibilityElemntNO爲其他元素關閉輔助功能!!!!

+0

我喜歡這個主意好一點「爲欄按鈕關閉輔助功能」。雖然每次應用程序進入前臺時都存在問題,所以我想我需要聽取該通知。 –

0

dispatch_after(dispatch_time(DISPATCH_TIME_NOW,Int64的(0.75 *雙(NSEC_PER_SEC))),dispatch_get_main_queue()){() - >虛空中 UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,self.view) }

這可能會實現。

+0

你能否提供更多解釋來支持你的答案? – bwegs