iOS辅助功能 - 如何为UINavigationBar的标题设置辅助功能标签?

Rob*_*aff 8 accessibility objective-c ios voiceover

Apple的声音错误地反映了我的一个观点的标题,这是在UINavigation控制器内部.

在应用程序的其他部分,我添加了一个自定义辅助功能标签,以帮助它正确发音公司名称.如何设置UINavigationBar的可访问性标签?

ste*_*hls 16

这适用于iOS 8.2.在viewDidLoad:

self.navigationItem.accessibilityLabel = @"My accessible label";
Run Code Online (Sandbox Code Playgroud)

当导航控制器转换到视图控制器时,将accessibilityLabel读取而不是视图控制器title.


Rob*_*aff 13

我无法添加辅助功能标签,但我找到了一个解决方法:

我将navigationItem的标题View替换为具有可访问性设置的UILabel.

UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.text = @"myTitle";
[titleLabel setAccessibilityLabel:@"myCustomAccessiblityLabel"];
[titleLabel setFont:[UIFont boldSystemFontOfSize:20.0]];
[titleLabel setBackgroundColor:[UIColor clearColor]];
[titleLabel setTextColor:[UIColor whiteColor]];
[titleLabel sizeToFit];
self.navigationItem.titleView = titleLabel;
Run Code Online (Sandbox Code Playgroud)

我不确定为什么设置辅助功能标签不起作用,但上面的代码适合我的需要.

  • 感谢您发布您的解决方法!UINavigationBar的问题可能值得向Apple提交.他们非常善于解决与可访问性相关的错误报告(包括我上面提到的UIBarButtonItem问题). (2认同)