不同的UIButton accessibilityLabel取决于是否选择了按钮

时间:2014-03-26 22:16:22

标签: ios uibutton accessibility voiceover

我希望UIButton的accessibilityLabelselected时为一个值,在selected时为一个值。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

我的直觉是回答:子类UIButton并检查被覆盖的self.selected中的accessibilityLabel

但您也可以利用UIControl使用[add/remove]Target语义的事实,这样他们就可以将状态更改发布到任意多个目标,而不仅仅是单个委托。您可以创建并附加按需推送新accessbilityLabel的目标。如果您下拉到运行时级别并使用objc_setAssociatedObject,您可以直接将帮助器与按钮相关联,从而使其具有相同的生命周期,并且无需其他任何人保持对它的引用。您应该只使用UIControlEventAllEvents而不是尝试编写一个隐式表,其中哪些事件可能导致选择更改。