2017-07-22 5 views
0

Le code ci-dessous ajoute un UIPanGestureRecognizer à l'ensemble de la vue à l'écran. Lorsqu'un utilisateur parcourt l'écran avec un doigt, l'action de panoramique/balayage est reconnue et recognizePanGesture(sender: UIPanGestureRecognizer) est déclenchée.`UIPanGestureRecognizer` non accessible aux utilisateurs qui utilisent VoiceOver dans iOS

Malheureusement, mon code UIPanGestureRecognizer n'est actuellement pas compatible avec l'accessibilité.


Questions:

Comment puis-je modifier le code ci-dessous pour vous assurer qu'il est tout à fait accessible aux utilisateurs qui utilisent VoiceOver dans iOS?

Quelle est l'action gestuelle spéciale généralement utilisée par un utilisateur lors du panoramique avec VoiceOver actif?


code:

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.") 
    } 

} 

Répondre

1

utilisateurs VoiceOver peuvent effectuer une casserole en préfixant avec le geste "pass-through" (un doigt double appuyez et maintenez avant de poursuivre le geste) . Vous souhaiterez peut-être proposer une méthode alternative pour accéder au contrôle. Une approche pourrait être d'ajouter et de se conformer au trait UIAccessibilityTraitAdjustable.

+0

Merci pour les suggestions! – user4806509