2011-07-05 20 views
8

Una aplicación que estoy desarrollando requiere un gesto de deslizamiento de tres puntos.Gesto de iOS no detectado debido a la configuración de accesibilidad

Lo he implementado con éxito utilizando un UIGestureRecognizer y funciona bien en su mayor parte.

Sin embargo, si cambia la configuración de Accesibilidad de zoom del dispositivo en (Configuraciones> General> Accesibilidad> Zoom) esto evita que se reconozca el gesto.

La función Zoom utiliza varios gestos de tres puntos para operar, por lo que puedo entender que esto reemplaza mi gesto de la aplicación.

Sin embargo, ¿alguien sabe cómo puedo determinar si la configuración de Zoom está activada (o el gesto de accesibilidad del zoom realizado) para que al menos pueda avisar al usuario de que no se reconocerá el gesto?

Gracias!

+0

¿Subclasificó 'UIGestureRecognizer' o utilizó un' UISwipeGestureRecognizer' y estableció la propiedad 'numberOfTouchesRequired' en tres? –

+0

Utilicé un 'UISwipeGestureRecognizer' con' numberOfTouchesRequired' establecido en tres –

+0

Podía detectar golpes de tres y cuatro dedos ... –

Respuesta

2

Si se dirige a iOS 5, eche un vistazo a UIAccessibilityRegisterGestureConflictWithZoom(). Si bien no le dice si Zoom está habilitado, les avisará a sus usuarios cuando haya un conflicto.

0

Usaría una declaración if para comprobar si el usuario tiene habilitada la accesibilidad y si lo hacen, haga que su aplicación haga un deslizamiento de cuatro dedos.

if (isAccessabilityElement) 

? ¿Has probado eso?

+0

No creo que eso indique si el zoom está habilitado ... –

+0

Gracias por la sugerencia, sin embargo, esta propiedad es para indicar que un control es accesible para usuarios con discapacidades. (Todos los controles UIKit estándar devuelven SÍ por defecto, por ejemplo). Lamentablemente, esto no me dice si un usuario tiene la configuración de accesibilidad activada. –

+0

ah, estás en lo correcto – brandonbocklund

0

Existe la opción de averiguar si el zoom está configurado o no en los métodos de delegado UIScrollView , pero puede intentar usar UIPinchGestureREcognizer además de activar el reconocedor de gestos. Para obtener más información, puede consultar la documentación del desarrollador de Apple.

Cuestiones relacionadas