2017-09-21 2 views
0

J'ai une application avec le "menu hamburger" classique pour ouvrir les paramètres. Lorsque vous appuyez sur les diapositives à partir de la gauche couvrant la plus grande partie de l'écran. Cependant, lorsque Voice Over est activé et que vous balayez vers la droite lorsque le dernier élément est actif, il active le premier élément du contrôleur de vue cachée. Je suppose que ce genre de logique a un sens pour un contrôleur de vue partagé, mais pas dans ce cas.Limiter la voix sur le contrôleur de vue active

Est-il possible de dire Voice Over uniquement pour "voir" des éléments dans le contrôleur de vue active?

enter image description here

+1

Avez-vous essayé de définir 'accessibilityElementsHidden' pour l'affichage du menu hamburger (quand il le cache à' true', quand il est affiché sur 'false')? – Adamsor

Répondre

2

Vous voulez que votre menu hamburger à se comporter comme un modal, dans le contexte actuel. Vous obtiendriez cela comme tel:

menuViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext 
-1

Une combinaison de réponses ci-dessus m'a conduit à la bonne solution. Le plus gros problème était de trouver la vue du conteneur pour la vue de mes paramètres. Quand j'ai fait, j'ai utilisé accessibilityViewIsModal = true lorsque le bouton hamburger a été pressé et quand il a été fermé. La vue du conteneur de contenu principal a également fonctionné, mais je pense qu'il est plus logique de marquer la vue des paramètres comme étant modale.

+0

Les modifications qui résultent de la manipulation des API d'accessibilité ne sont pas idéales, dans ce cas. La vue doit être modale pour tout le monde, pas seulement pour les utilisateurs AT. – ChrisCM