Sto utilizzando il KIF Framework per il test dell'interfaccia utente funzionale. Diciamo che sono su una schermata attuale dell'iPad in cui molte viste (etichette, pulsanti, campi di testo, ecc.) Hanno etichette di accessibilità univoche assegnate. Se ho la stringa accessibilityLabel
a portata di mano, posso ottenere un riferimento allo UIView
associato dalla schermata corrente che lo utilizza?Ottieni UIVIew da accessibilityLabel per l'automazione KIF
Ad esempio, [[UIView alloc] viewWithTag:5]
restituisce UIVIew
di tag
fornito. Sto cercando qualcosa come [[UIView alloc] viewWithAccessiblityLabel:@"my label"]
.
P.S: So che il metodo forza bruta sarebbe quello di iterare ricorsivamente tutte le viste in self.subviews e confrontare l'etichetta di accessibilità per trovare quello che sto cercando. Sto cercando un approccio migliore.
u puoi 'sottoclasse'' UIView' nelle tue classi 'Custom'. –
L'unico modo per fare ciò che vuoi è di ripetere le sottoview e controllare. Questo tipo di comportamento probabilmente significa che hai un design scadente nella tua classe. Tutto ciò di cui avrai bisogno di fare riferimento in un secondo momento potrebbe essere memorizzato in una proprietà, o se è stato creato dinamicamente, in un NSDictionary che è memorizzato come una proprietà. –