Właściwie nie jest konieczne tworzenie kategorii określonych przez Viktora Krykuna. Ustawianie accessibilityIdentifier wystarczy - docs Apple powiedzieć (iOS 6.1.3):
Dostępność Label i Identifier
Atrybut Identyfikator pozwala używać nazw opisowych dla elementów. To nie jest obowiązkowe, ale musi być ustawiony na skrypt do wykonywania jednej z tych dwóch operacji:
- Dostęp widok pojemnika według nazwy, a jednocześnie jest w stanie uzyskać dostęp do jego dzieci.
- Uzyskiwanie dostępu do widoku UILabel według nazwy w celu uzyskania wyświetlanego tekstu: (poprzez jego atrybut wartości).
Może być również konieczne jawnie ustawić
uilabel.accessibilityLabel = NSLocalizedString(@"Element description", @"Localized accessibility label for VoiceOver");
uilabel.accessibilityValue = uilabel.text;
W moim kodu mam jeden przypadek, w którym to po prostu działa i inny gdzie mam jawnie ustawić wartości. Domyślam się, że różnica jest taka, że może dlatego, że wprowadziłem, a następnie usunąłem etykietę dostępności w Konstruktorze interfejsów w jednym przypadku - może to oznaczać różnicę między pustym łańcuchem lub nicością. Kod Apple'a jest tutaj dość kruchy (SDK 6.1.3, testowanie na symulatorze iOS 5.0).
Dziękuję, miałem zacząć walić głową w laptopie –