Używam KIF Framework do testowania funkcjonalnych interfejsów użytkownika. Załóżmy, że jestem na bieżącym ekranie iPada, na którym wiele widoków (etykiet, przycisków, pól tekstowych itp.) Ma przydzielone unikalne etykiety dostępności. Jeśli mam pod ręką ciąg accessibilityLabel
, czy mogę uzyskać odniesienie do powiązanego UIView
z bieżącego ekranu, używając go?Uzyskaj UIVIew z accessibilityLabel dla automatyzacji KIF
Na przykład [[UIView alloc] viewWithTag:5]
zwraca UIVIew
z podanego tag
. Szukam czegoś takiego jak [[UIView alloc] viewWithAccessiblityLabel:@"my label"]
.
P.S: Wiem, że metoda brute-force polegałaby na rekursywnym przeglądaniu wszystkich widoków w self.subviews i porównywaniu etykiety dostępności, aby znaleźć to, czego szukam. Szukam lepszego podejścia.
można "podklasy" 'UIView' w ur' Niestandardowe 'klasy .. –
Jedynym sposobem na zrobienie tego, co chcesz, jest iterowanie przez subviews i sprawdzanie. Ten typ zachowania prawdopodobnie oznacza, że masz słabe wzornictwo w swojej klasie. Wszystko, co będzie potrzebne do późniejszego odniesienia, może być przechowywane w nieruchomości lub jeśli jest tworzone dynamicznie w NSDictionary, który jest przechowywany jako właściwość. –