以下代码在屏幕上的整个视图中添加UIPanGestureRecognizer
。当用户用一根手指在屏幕上平移时,会识别平移/滑动操作并触发recognizePanGesture(sender: UIPanGestureRecognizer)
。
不幸的是,虽然我的UIPanGestureRecognizer
代码目前不符合辅助功能。
问题:
如何更改以下代码,以确保在iOS中使用VoiceOver的用户可以完全访问它?
在VoiceOver处于活动状态时进行平移时,用户通常使用的特殊手势操作是什么?
代码:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
panGestureAdd()
}
func panGestureAdd() {
let panGesture: UIPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(ViewController.recognizePanGesture(_:)))
panGesture.minimumNumberOfTouches = 1
panGesture.maximumNumberOfTouches = 1
self.view.addGestureRecognizer(panGesture)
}
func recognizePanGesture(sender: UIPanGestureRecognizer) {
print("UIPanGestureRecognizer active.")
}
}
答案 0 :(得分:1)
VoiceOver用户可以通过在"传递"前加上前缀来执行操作。手势(在继续手势之前,单指双击并按住)。您可能希望提供一种访问控件的替代方法。一种方法可能是添加并符合UIAccessibilityTraitAdjustable
特征。