在UIBarButtonItem上设置辅助功能属性

Tim*_*man 31 iphone accessibility objective-c

我在Interface Builder中有几个UIBarButtonItem对象,我找不到任何选项来设置这些按钮的辅助功能标签或提示.

我该如何设置这些属性?

Raf*_*bre 28

您可以使用"用户定义的运行时属性"并在那里指定您的辅助功能信息: 运行时属性

  • 快速修正,提示你应该使用`accessibilityHint`,而不是`keyPath` (3认同)

小智 22

仅在IB中设置accessibilityLabel用户定义的运行时属性实际上是不够的.您还必须将isAccessibilityElement也设置为true.这保留了IB内的所有可访问性信息. IB截图


Tim*_*man 15

好的,即使您可以使用IB在其他UI元素上设置辅助功能属性,似乎在Interface Builder中也无法做到这一点.所以我在工具栏上设置了一个标签,然后将此代码添加到我的viewWillAppear方法中:

UIToolbar *bottombar = (UIToolbar*)[self viewWithTag:kBottomToolbar];

UIView *view = (UIView*)[bottombar.items objectAtIndex:0];
[view setAccessibilityLabel:NSLocalizedString(@"Add Bookmark", @"")];
[view setAccessibilityHint:NSLocalizedString(@"Add Bookmark", @"")];
Run Code Online (Sandbox Code Playgroud)

等每个按钮项......

不是最优雅,但它的工作原理.

  • 从iOS 5.0开始,您可以直接在`UIBarButtonItem`上设置`accessibilityLabel`属性. (2认同)

rma*_*ddy 7

我知道这已经过时了,但我只是遇到了需要.从iOS 5.0开始,您现在可以通过以下方式轻松设置a的可访问性标签UIBarButtonItem:

UIBarButtonItem *btn = [[UIBarButtonItem alloc] init...;
btn.accessibilityLabel = @"Label";
Run Code Online (Sandbox Code Playgroud)

没有更多的黑客.