2016-05-02 20 views
5

W aplikacji ustawień, jeśli dwukrotnie dotknę wiersz "Ogólne". Pcha kontroler ogólnego widoku. Następnie mówiJak uzyskać głos do odczytania tytułu po naciśnięciu nowego kontrolera widoku?

"Ogólne"

(nazwa bieżącego widoku kontrolera)

Następnie

"Ustawienia Wstecz"

(Nazwa wybranego elementu)

Jednak w mojej aplikacji z niestandardowych self.navigaitonItem.titleView to tylko mówi

„Home, Back Przycisk”

Jak mogę to odczytać nazwę ekranie? (Zmęczony, aby ustawić self.title)

Odpowiedz

0

Nie przetestowałem go, ale może zajść konieczność sprawdzenia właściwości accessibilityLabel widoku. Z dokumentacji:

Domyślnie standardowe formanty i widoki UIKit mają etykiety wywodzące się z ich tytułów. Jeśli jednak zapewnisz niestandardową kontrolę lub widok, musisz odpowiednio ustawić tę właściwość, aby aplikacje wspomagające mogły dostarczyć dokładnych informacji użytkownikom niepełnosprawnym.

+0

Jest to dobry punkt, ale 'titleView' to zwykły' UILabel' więc 'accessibilityLabel' jest ustawiana automatycznie. Jeśli dotknę widoku tytułu, odczytuje go poprawnie. Zaczynam myśleć, że to jest błąd iOS, ale nie mogę znaleźć dobrego rozwiązania. – Robert

+0

Może tytuł jest ustawiony po naciśnięciu? spróbuj metod init, aby ustawić tytuł. – cekisakurek

+0

Nie - nie działa. Myślę, że tytuł jest czytany, gdy widok pojawia się na ekranie. – Robert

0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // replace "nb" with your custom view & try 
    UINavigationBar *nb = self.navigationController.navigationBar; 
    // default is NO 
    nb.isAccessibilityElement = YES; 
    // exactly Value, not Label 
    nb.accessibilityValue = @"my navigation bar ztx"; 
    // set similar traits 
    nb.accessibilityTraits = UIAccessibilityTraitStaticText; 
}