2012-05-04 7 views
7

Sto cercando di ottenere il valore "HELLO" del UILabel mostrato nel simulatore iPad. Ho abilitato l'accessibilità e ho impostato l'etichetta come "Label Access". Ma quando chiamo target.logElementTree(), sia il nome che il valore sono impostati su "LabelAccess" e, per quanto dicono i documenti Apple, il campo del valore dovrebbe contenere la stringa impostata (in questo caso "Hello"). Qualcuno conosce una correzione per questo?Impossibile ottenere UIAutomation iOS UILabel valore

PS: Sto utilizzando l'ultimo SDK e Xcode per iOS. Apple Stack Exchange

Output of target.logElementTree();

iPad screen

Accessibility Label

+0

penso che si potrebbe avere più fortuna su [apple.stackexchange.com] (http://apple.stackexchange.com) – FLY

+1

http: //apple.stackexchange.com/questions/50468/unable-to-get-uiautomation-ios-uilabel-value –

+4

@scubaFLY Ask Different non consente domande di programmazione, cosa che è indiscutibilmente questa. Stack Overflow è il posto giusto per questa domanda. – CajunLuke

risposta

5

penso che avete incontrato un bug UIAutomation che esiste da sempre.

Il modo più semplice per aggirare questo bug è impostare il valore di accessibilità del testo nel codice.

Qualcosa di simile.

NSString *valueString = [NSString stringWithFormat:@"%d", value]; 
self.label.text = valueString; 
self.label.accessibilityValue = valueString; 

Aiuta a quelle persone che utilizzano il Voice Over troppo ;-)

+0

Brillante! Grazie. –

Problemi correlati