2014-10-05 12 views
10

Ecco il mio codice molto semplice per la creazione di UITextView.UITextView con voiceover

UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds]; 
textView.editable = NO; 
textView.text = @"Using iOS 3.0 and later, VoiceOver is available to help users with visual impairments use their iOS-based devices. The UI Accessibility programming interface, introduced in iOS 3.0, helps developers make their applications accessible to VoiceOver users. Briefly, VoiceOver describes an application’s user interface and helps users navigate through the application’s views and controls, using speech and sound. Users familiar with VoiceOver in Mac OS X can leverage their experience to help them quickly come up to speed using VoiceOver on their devices."; 
[self.view addSubview:textView]; 

Dato che non potevo forse fare qualcosa di sbagliato qui Mi chiedo solo se questo è un comportamento previsto o di un insetto, forse qualcuno anche di fronte:

con VoiceOver abilitato Mi aspetto che l'intera vista del testo per essere "Evidenziato" alla spina, quindi il suo accessibilityLabel da leggere a un utente e dopo il doppio tocco, l'intero testo di text view da leggere.

Ma quello che succede è che una piccola parte della vista testuale è evidenziata (di solito 2 righe), accessibilityLabel non viene letto, ma la prima riga "evidenziata" e la prima lettera (!) Della seconda riga vengono lette invece e solo dopo che un utente doppi rubinetti l'intero testo viene letto.

enter image description here

Soprattutto leggendo la prima lettera nella seconda linea evidenziata mi confonde. Plus non accessibilityLabel deve essere sempre letto in principio? Questo sembra un grande per me, ma Apple ha sempre prestato molta attenzione all'accessibilità, quindi ho dei dubbi se dovrei ripeterlo t it, potrebbe essere il significato per essere così.

Un'altra domanda: esiste un modo per raggiungere il seguente comportamento (senza subaffitto UITextView) quando VoiceOver è abilitato: utente tocca UITextView ->accessibilityLabel e l'intero testo vengono letti?

+0

sto affrontando questo problema esatto. Hai mai trovato una risposta? – Jan

+0

Ciao @ Jan, ho postato una risposta, risulta essere molto semplice. – dariaa

risposta

22

Nel caso in cui qualcun altro ha questo problema ecco la risposta:

textView.accessibilityTraits = UIAccessibilityTraitStaticText; 
+0

In realtà voglio il risultato come la tua domanda ha menzionato, puoi dare l'impostazione dell'accessibilità? Hai impostato la cornice? E lasci che i tratti siano disinseriti? – newszer