Apples Stimme hebt den Titel einer meiner Ansichten, die sich in einem UINavigation Controller befindet, falsch auf.
In anderen Teilen der App habe ich ein benutzerdefiniertes Zugänglichkeitslabel hinzugefügt, um den Firmennamen korrekt auszusprechen. Wie kann ich die Barrierefreiheit einer UINavigationBar festlegen?
Ich konnte keine Barrierefreiheitsetikette hinzufügen, aber ich habe eine Umgehungslösung gefunden:
Ich ersetze die Titelansicht des navigationItems durch ein UILabel, für das die Barrierefreiheit eingerichtet wurde.
%Vor%Ich bin mir nicht sicher, warum die Einstellung der Barrierefreiheit nicht funktioniert, aber der obige Code funktioniert für meine Bedürfnisse.
Dies funktioniert in iOS 8.2. In viewDidLoad
:
Wenn ein Navigationscontroller zum View-Controller wechselt, wird accessibilityLabel
anstelle des View-Controllers title
gelesen.
Da UINavigationBar
von UIView
erbt, sollten Sie die Eigenschaft accessibilityLabel
festlegen können. Versuche es: yourUINavigationBar.accessibilityLabel = @"title";
.
Sie müssen möglicherweise auch sicherstellen, dass es als Accessibility-Element mit yourUINavigationBar.isAccessibilityElement = YES;
markiert ist (und sich nicht in einer anderen Ansicht befindet, die ebenfalls als Barrierefreiheitselement markiert ist). (Ich nehme an, dieses letzte Bit könnte das Problem sein, da es so aussieht, als wüssten Sie bereits über Eingabehilfen-Labels. Sie können den Eingabehilfen-Inspektor im Simulator verwenden, um festzustellen, ob dies der Fall ist Tippen Sie darauf, um zu sehen, ob es sich um etwas handelt, das größer ist als die Navigationsleiste.)
Tags und Links objective-c ios voiceover accessibility