Ios AccessibilityElements在TableView中不工作
我试图改变手机的标准语音方式 如果我使用DoNothing(让故事板发挥魔力),它将访问单元格中的所有元素。 但是,当我试图改变一个细胞说话的声音顺序时,它不起作用 请参见下面的我的代码:Ios AccessibilityElements在TableView中不工作,ios,uitableview,swift,uiaccessibility,Ios,Uitableview,Swift,Uiaccessibility,我试图改变手机的标准语音方式 如果我使用DoNothing(让故事板发挥魔力),它将访问单元格中的所有元素。 但是,当我试图改变一个细胞说话的声音顺序时,它不起作用 请参见下面的我的代码: class OverviewTableViewCell: UITableViewCell { @IBOutlet weak var messageIndicator: UIView! @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var date
class OverviewTableViewCell: UITableViewCell {
@IBOutlet weak var messageIndicator: UIView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var lastMessagelabel: UILabel!
@IBOutlet weak var profileImage: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
accessibilityElements = [messageIndicator, dateLabel, nameLabel, lastMessagelabel]
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
另外,当我试图通过故事板禁用所有元素并以编程方式执行时,根本不起作用
messageIndicator.isAccessibilityElement = true
dateLabel.isAccessibilityElement = true
nameLabel.isAccessibilityElement = true
lastMessagelabel.isAccessibilityElement = true
我做错了什么
非常感谢 一个单元格的子元素是其自身的可访问性元素是相当少见的。如果您查看设备上的其他应用程序(苹果自己的应用程序通常具有良好的可访问性),您会发现在大多数情况下,“表视图”单元格是一个可访问性元素,包含标签中其子元素的所有信息
您可以通过使单元格成为可访问性元素而子元素不是可访问性元素来实现这一点。然后,根据您认为最合适的顺序,从不同的信息片段中构建一个自定义可访问性标签。嗨,大卫,我喜欢您的答案,而且您完全正确。我可能问错了问题。现在的问题是,当在cel上选择时,它会说出所有元素,就像标准的a+b+c+d。我只想更改一下订单。例如:a+c+d。我无法使用上面在自定义单元格中显示的
accessibilityElements
来解决此问题。如何更改顺序?作为可访问性容器的一部分是,该元素本身不能是可访问性元素。您可能还必须设置子元素的accessibilityContainer
属性。