行动单选按钮的辅助功能标签?

时间:2017-11-13 09:03:14

标签: ios uitableview accessibility voiceover

TableViewCell中,我有自定义imageview作为单选按钮。此imageview有两种状态

  1. 选择的
  2. 未选中
  3. enter image description here

    默认情况下,我已将辅助功能标签指定为"选中的复选框"和"复选框"。现在,我想将语音文字说成"选择新项目"当它选择和"项目取消选择"取消选择时。

    我们可以提供所有四种不同的标签吗?我怎样才能得到相同的结果。

    更新:我尝试使用

    UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,@"text")
    

    但它会跳过需要发言的文字。

2 个答案:

答案 0 :(得分:5)

我不完全确定你在这里尝试做什么,但我会尝试提供另一种方法使其可以访问。

不是将每个单选按钮视为已选择或取消选择,而是将整个单选按钮组视为一个组合的辅助功能元素。

因此,如果您有[cat, dog, rabbit, guinea pig]的单选按钮。那么你的可访问性应该是...... ...

Animal selection group: none selected

Animal selection group: rabbit selected

等...

说完了所有这些......你想要创建的UI是什么?

单选按钮基本上不是iOS的一部分。这将是使用用户知道的UI的更好的替代方案。然后,通过执行此操作,您可以使您的可访问性问题成为无问题。

也许UIPickerViewUITableView可能是单选按钮的更好选择?

答案 1 :(得分:0)

不确定你到底想做什么。

我的假设:您希望在点击tableviewcell的按钮时生成声音,同时在检查其状态(选定或未选中)的同时更改Imageview的图像。

*****在customTableViewCell类中执行...

  • 在.h或.m中为customtableviewcell xib中的3个项目创建IBOutlets。
  • 创建布尔标志以维持该单元格的当前状态(选定或未选中)。

  • 创建IBaction选择器(方法)以获取按钮单击的事件(内部触摸)。在此方法内部编写检查以下内容的代码。

BOOL selectState; //在classfile中创建此Global

if(selectState) // selected state YES

{
        xyzImgView.image = //Your Non selection Image;
        selectState = !selectState;

        //Play your sound for Non selection

}
    else // selected state NO
    {
        xyzImgView.image = //Your selection Image;

        selectState = !selectState;

        //Play your sound for selection

    }