阻止声音(辅助功能)宣布UITableViewCell为选中状态

use*_*037 10 accessibility uitableview ios voiceover uiaccessibility

当选择UITableViewCell时,语音通过宣布"已选择 ",我不希望语​​音结束说"已选择".我怎样才能实现这一目标?

我尝试过的事情没有成功:

  • 改变了细胞accessibilityHintaccessibilityLabel
  • 改变了细胞 selectionStyle = UITableViewCellSelectionStyleNone
  • 改变了细胞 accessibilityTraits = UIAccessibilityTraitButton

题:

  • 当选择单元格时,我不希望语​​音结束说"已选择".我怎样才能实现这一目标?

Mel*_*ius 12

我问这是Apple的代码级支持问题,并得到了以下完美的解决方案.使用UITableViewCell的自定义子类覆盖accessibilityTraits,如下例所示:

class NoTraitCell: UITableViewCell {
    override var accessibilityTraits: UIAccessibilityTraits {
        get {
            return UIAccessibilityTraitNone
        }
        set {}
    }
}
Run Code Online (Sandbox Code Playgroud)


use*_*037 -3

唯一的解决方法是阻止细胞选择

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
    return nil;
}
Run Code Online (Sandbox Code Playgroud)

在单元格上添加点击手势,当点击单元格时,在点击手势内的单元格选择中执行您想要的操作。