Dav*_*vao 0 iphone ios voiceover uiaccessibility swift
如果某个元素专注于画外音,我会尝试获取信息。因此,我重写了该accessibilityElementDidBecomeFocused方法,但这从未被调用。我忘记了什么吗?
override func viewDidLoad() {
super.viewDidLoad()
viewArray.append(UIView())
viewArray.append(UIView())
viewArray[0].frame = CGRectMake(20, 210, 100, 100)
viewArray[0].isAccessibilityElement = true
self.view.addSubview(viewArray[0])
viewArray[1].frame = CGRectMake(220, 220, 100, 100)
viewArray[1].isAccessibilityElement = true
self.view.addSubview(viewArray[1])
}
//never called
override func accessibilityElementDidBecomeFocused(){
println("accessibilityElementDidBecomeFocused")
}
Run Code Online (Sandbox Code Playgroud)
因为您的视图控制器不是可访问性元素,所以未调用它。您应该在自定义视图子类中覆盖它。
需要澄清的是:只要可访问性元素成为焦点,您就不会获得该回调,但是当元素变为强制时,元素本身将获得该回调。
可以覆盖它的原因(UIViewController实现它的原因)是因为它是一个非正式协议,是在NSObject上实现的类别,意味着每个NSObject都实现这些方法。
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |