2011-08-28 11 views
9

Espero utilizar KIF para escribir pruebas funcionales para nuestra aplicación de iPhone. Utiliza "etiquetas de accesibilidad" para identificar los elementos de la interfaz de usuario que está probando. ¿Cómo configuro la etiqueta de accesibilidad para una vista en el constructor de interfaces de xcode4?¿Cómo configuro la etiqueta de accesibilidad para una vista en el constructor de interfaces xcode4?

+0

accessibilityLabel es leído por VoiceOver. Es una mala práctica usarlo como un identificador. Debe usar la propiedad accessibilityIdentifer que no se lee mediante voz en off. – Vlad

+0

@Vlad No. Es la * mejor * práctica usarlo en pruebas funcionales, porque entonces también estás probando que tu aplicación es accesible. – Simon

Respuesta

10

Para establecer la variable de programación puede utilizar su propiedad como esta:

UIButton *someButton = [[UIButton alloc] init]; 
someButton.titleLabel.text = @"Your Button's Text"; 
someButton.accessibilityLabel = @"SomeNSString"; 

En el InterfaceBuilder - integrado en XCode 4 - sólo tiene que seleccionar el elemento de interfaz de usuario que desea tener una etiqueta de accesibilidad. El "Inspector de identidad", en el panel "Utilidad", ofrece un campo de texto donde puede ingresar cualquier texto de etiqueta que desee.

enter image description here

+0

No veo la sección Accesibilidad en mi IB: tengo clase personalizada, atributos de tiempo de ejecución definidos por el usuario e identidad; pero no Accesibilidad. – Simon

+0

Al hacer clic, puedo ver Accesibilidad en la mayoría de las pantallas, pero no en MainWindow.xib. ¿Es así de normal y, en caso afirmativo, cómo configuro las etiquetas de accesibilidad allí? – Simon

+1

Creo que la clase UIWindow no tiene las propiedades de accesibilidad. Realmente no tendría sentido que una ventana tenga variables de accesibilidad porque generalmente solo las usa un iPhone, si el usuario ha activado "VoiceOver". En un iPhone, donde solo es posible una ventana, no es necesario identificar una ventana. Programmatically it ** is ** possible. – 0xJoKe

Cuestiones relacionadas