画外音会读取整个单元格(所有项目都没有暂停,并且需要选择下一个元素),然后在每次向右滑动后,它会逐一再次读取每个项目。我可以读到第二个,但读不到第一个。我需要将焦点从整个单元格中移开,并让 Voice Over 逐一宣布其标签,就好像它根本不是表格单元格一样。 我尝试使用
accessibilityElementsHidden
、shouldGroupAccessibilityChildren
和 isAccessibilityElement
,但我只能完全删除单元格的 Voice Over 或删除单独的项目阅读,而将其作为一个整体阅读,这与我需要的相反。如何从整体上移除单元的焦点,并分别为其所有项目留下焦点?
您可以通过在
awakeFromNib
中或单元格的初始值设定项中添加以下行来完成此操作。
isAccessibilityElement = false
accessibilityElements = [subview1, subview2, ...] // add all the accessible subviews
只需使用合理的可访问性标签使每个单独的项目都可访问,然后 VoiceOver 才会停止播报整个单元格。