我在 Interface Builder 中有几个 UIBarButtonItem 对象,但是我找不到任何选项来设置这些按钮的无障碍标签或提示。
如何设置这些属性呢?
我在 Interface Builder 中有几个 UIBarButtonItem 对象,但是我找不到任何选项来设置这些按钮的无障碍标签或提示。
如何设置这些属性呢?
accessibilityHint
而不是 keyPath
。 - Allison好的,看起来在接口构建器中没有办法做到这一点,即使你可以使用IB设置其他UI元素的可访问性属性。所以我在我的工具栏上设置了一个标签,然后在我的viewWillAppear方法中添加了这段代码:
UIToolbar *bottombar = (UIToolbar*)[self viewWithTag:kBottomToolbar];
UIView *view = (UIView*)[bottombar.items objectAtIndex:0];
[view setAccessibilityLabel:NSLocalizedString(@"Add Bookmark", @"")];
[view setAccessibilityHint:NSLocalizedString(@"Add Bookmark", @"")];
对于每个按钮项,以此类推...
虽然不是最优雅的方法,但它有效。
UIBarButtonItem
上设置accessibilityLabel
属性。 - rmaddy我知道这已经有点老了,但我最近遇到了这个需求。从iOS 5.0开始,你可以通过以下方式轻松设置UIBarButtonItem
的可访问性标签:
UIBarButtonItem *btn = [[UIBarButtonItem alloc] init...;
btn.accessibilityLabel = @"Label";
我通过添加一行额外的代码,使得上面的代码可以与UIBarButtonItems配合使用:
[view setIsAccessibilityElement:YES];
IBInspectable
来实现此功能,这样您就可以在Interface Builder的侧边栏中获得一些方便的选项。public extension UIBarButtonItem {
@IBInspectable var accessibilityEnabled: Bool {
get {
return isAccessibilityElement
}
set {
isAccessibilityElement = newValue
}
}
@IBInspectable var accessibilityLabelText: String? {
get {
return accessibilityLabel
}
set {
accessibilityLabel = newValue
}
}
}
https://gist.github.com/KaneCheshire/dcce5246c3399072a5200189bfc53fe2