我在Interface Builder中有幾個UIBarButtonItem對象,並且找不到任何選項來設置這些按鈕的輔助功能標籤或提示。設置UIBarButtonItem的可訪問性屬性
我該如何設置這些屬性?
我在Interface Builder中有幾個UIBarButtonItem對象,並且找不到任何選項來設置這些按鈕的輔助功能標籤或提示。設置UIBarButtonItem的可訪問性屬性
我該如何設置這些屬性?
查看關於UIAccessibility的Apple文檔。
是的,我已經閱讀了文檔。我希望有一種方法可以在IB或其他優雅的方式下做到這一點。我發佈了我的kludge解決方案,但我仍然打開一個更清潔的方法。 – 2009-10-27 02:22:26
對不起,此功能尚未添加到IB。我認爲你的kludge可能是你現在要做的最好的。 – 2009-10-28 11:48:11
好的,所以看起來在Interface Builder中沒有辦法做到這一點,即使您可以使用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", @"")];
等每個按鈕項...
不是最優雅,但它的工作原理。
從iOS 5.0開始,您可以直接在'UIBarButtonItem'上設置accessibilityLabel屬性。 – rmaddy 2013-03-11 03:39:03
嘗試手動設置輔助功能標籤對於UIBarButtonItem圖像無效。但是,如果我手動設置標題,則標籤將起作用。但它顯示圖像下方的標題。
我最終創建了一個UIButton並將它用作UIBarButtonItem的自定義視圖。唯一的損失就是UIBarButtonItem執行的圖像蒙版。額外的獎勵:在IB中可配置的可訪問性。
我得到上面的代碼與UIBarButtonItems工作與一個額外的行:
[視圖setIsAccessibilityElement:YES];
這解決了這個問題。請記住,如果父視圖也將此設置設置爲YES,則子視圖將被忽略。 – 2013-03-13 19:11:05
我知道這是舊的,但我已經遇到了這個需求。由於安裝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一個Storyboard這樣做的呢? – fatuhoku 2014-03-10 23:26:46