【问题标题】:`UIPanGestureRecognizer` not accessible to users who are using VoiceOver in iOS在 iOS 中使用 VoiceOver 的用户无法访问“UIPanGestureRecognizer”
【发布时间】:2017-07-22 18:12:23
【问题描述】:

以下代码将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.")
    }

}

【问题讨论】:

    标签: ios swift accessibility uipangesturerecognizer voiceover


    【解决方案1】:

    VoiceOver 用户可以通过在其前面加上“通过”手势(单指双击并按住,然后继续手势)来执行平移。您可能希望提供一种替代方法来访问该控件。一种方法可能是添加并符合 UIAccessibilityTraitAdjustable 特征。

    【讨论】:

    • 感谢您的建议!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 2012-09-09
    • 1970-01-01
    相关资源
    最近更新 更多