UIAccessibilityFocus 协议不起作用

Che*_*CH. 5 accessibility voiceover uiaccessibility ios8 ios8.1

我想知道用户何时将焦点从辅助功能元素上移开。我尝试过重写accessibilityElementDidLoseFocus()accessibilityElementDidBecomeFocused()方法,但当我在 VoiceOver 辅助功能模式下导航到其他元素时,似乎没有调用这些方法。我不知道出了什么问题。我还应该做些什么来激活这些方法吗?

override func accessibilityElementDidBecomeFocused() {
    println("become focused")
}

override func accessibilityElementDidLoseFocus() {
    println("lose focus")
}
Run Code Online (Sandbox Code Playgroud)

目前的开发是在 iOS 8.1 上,使用 Swift。

Man*_*lMB 3

尝试使用:

  isAccessibilityElement = true 
Run Code Online (Sandbox Code Playgroud)

该属性的默认值为 false,除非接收者是标准 UIKit 控件,在这种情况下该值为 true。

辅助应用程序只能获取有关由辅助功能元素表示的对象的信息。因此,如果您实现的自定义控件或视图应可供残障用户访问,请将此属性设置为 true。这种做法的唯一例外是视图仅充当其他应可访问的项目的容器。这样的视图应该实现 UIAccessibilityContainer 协议并将该属性设置为 false。