Interface BuilderにいくつかのUIBarButtonItemオブジェクトがあります。アクセシビリティラベルやヒントを設定するオプションがありません。UIBarButtonItemのアクセシビリティ属性を設定する
どのようにこれらの属性を設定できますか?
Interface BuilderにいくつかのUIBarButtonItemオブジェクトがあります。アクセシビリティラベルやヒントを設定するオプションがありません。UIBarButtonItemのアクセシビリティ属性を設定する
どのようにこれらの属性を設定できますか?
UIAccessibilityのAppleのドキュメントをご覧ください。
はい、すでにドキュメントを読んでいます。私はIBやこれ以外のエレガントな方法でこれをやり遂げる方法があることを期待していました。私はkludgeソリューションを投稿しましたが、よりクリーンなアプローチのためにまだ開いています。 –
申し訳ありませんが、この機能はまだIBに追加されていません。私はあなたがおそらくあなたが今のためにしようとしている最高のものだと思う。 –
さて、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", @"")];
と...
ない最もエレガントなのが、それは動作します。
iOS 5.0から、 'UIBarButtonItem'に' accessibilityLabel'プロパティを直接設定することができます。 – rmaddy
アクセシビリティラベルを手動で設定しようとしても、UIBarButtonItemイメージでは機能しませんでした。ただし、タイトルを手動で設定すると、ラベルが機能します。しかし、画像の下にタイトルが表示されます。
私はUIButtonを作成し、それをUIBarButtonItemのカスタムビューとして使用しました。唯一の損失は、UIBarButtonItemが実行するイメージマスキングです。追加ボーナス:IBで設定可能なアクセシビリティ。
私は上記のコードは、1つの余分ラインでUIBarButtonItemsで動作するようになった:
[ビューsetIsAccessibilityElement:YES];
これで問題は解決しました。親ビューにもこれをYESに設定すると、サブビューは無視されることに注意してください。 –
私はこれが古いと知っていますが、私はこれを必要としています。 iOSの5.0の時点で、あなたは簡単に行うことによってUIBarButtonItem
のアクセシビリティラベルを設定することができます。
UIBarButtonItem *btn = [[UIBarButtonItem alloc] init...;
btn.accessibilityLabel = @"Label";
これ以上のハックを。
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
XCodeの5のストーリーボード上でこれを行う方法はありますか? – fatuhoku