Ios 如何通过画外音获取当前选定tableviewcell的IndexPath?

Ios 如何通过画外音获取当前选定tableviewcell的IndexPath?,ios,objective-c,uitableview,nsindexpath,voiceover,Ios,Objective C,Uitableview,Nsindexpath,Voiceover,我在应用程序中使用了画外音。当“画外音”打开时,我很难确定当前选择了哪个表格单元格。我如何知道用户何时启动单次点击或浏览任何tableviewcell?以下是您可以尝试的内容: 使用UIAccessibilityFocusedElement全局函数 覆盖单元格上的accessibilitylementdidbecomefocus和accessibilitylementdidbecomefocus 在需要的情况下(例如,当相关表格的视图控制器显示时),请遵守NotificationCenter中

我在应用程序中使用了画外音。当“画外音”打开时,我很难确定当前选择了哪个表格单元格。我如何知道用户何时启动单次点击或浏览任何tableviewcell?

以下是您可以尝试的内容:

  • 使用
    UIAccessibilityFocusedElement
    全局函数
  • 覆盖单元格上的
    accessibilitylementdidbecomefocus
    accessibilitylementdidbecomefocus
  • 在需要的情况下(例如,当相关表格的视图控制器显示时),请遵守
    NotificationCenter
    中的
    UIAccessibilityElementFocused
    通知
此外,报告焦点的元素很可能取决于UITableViewCell是否将
isAccessibilityElement
设置为
true
false

虽然上述内容可能会帮助您真正了解您的要求,但如果您需要上述信息,您在这种情况下的总体可访问性方法也可能是错误的。如果你分享更多关于你想要达到的更大目标/动机的信息,那么结果可能是关于重点元素的信息可能根本不需要,而另一种解决方案更合适


如果您需要添加刷卡提示,您只需在适当的元素上设置
accessibilityHint
(如果您在整个单元格上设置
isAccessibilityElement=true
,然后在整个单元格上设置,否则请尝试在VoiceOver在单元格中读取的标签上设置),例如,当您配置要显示的单元格时(通常在
表格视图中(u:cellForRowAt:)
)。在这种情况下,您不需要观察哪个元素是焦点,只需让VoiceOver读取该特定元素/单元格上可用的提示。

DidSelectRowatineXpath
delegate方法中,您可以使用
indexpath.row
。嗨,Vaibhav。为此,我必须双击屏幕。我想加入用户启动单次点击时的dexPath。单次点击时,画外音选择tableviewcell。那么,我如何在单次点击时获取indexPath?因为在单次点击后,当用户滑动进行进一步操作时,我需要indexPath。画外音不选择任何项目,它只是读取标题,在第二次点击后,将选择项目。盲人使用画外音r用于导航,因此如果您需要添加一些仅供盲人使用的内容-使用
accessibilityLabel
@NSDmitry我已更新了我的问题,添加了更多信息。在用户导航到特定单元格后,我会提示用户为特定操作刷卡。因此,我需要indexPath。希望您理解。感谢您的详细解释。我使用了cell.accessibilityHint=@“向左滑动可添加到我的列表中。向右滑动可播放。向上滑动可共享。向下滑动可获取更多信息。”;画外音跳转到特定单元格后,它将宣布单元格的可访问性提示。这样用户就可以滑动上述操作。现在,用户向下滑动以获取有关当前单元格中元素的更多信息,我通过提供元素id在屏幕上传输。如何从数组中获取此元素id?这就是我需要indexPath的原因。@HirenPrajapati请继续firm myunderstanding:当VO光标移动到单元格时,VO会宣布您设置的提示。您已在单元格上配置了2个
UIAccessibilityCustomAction
s,一个用于共享,一个用于“更多信息”。这两个操作的目标都是视图控制器,而不是单元格,因此您需要一种方法让视图控制器获取画外音光标所在单元格的索引:在
didSelectRowAtIndexPath
中,您将其作为参数,在prepareforsgue中,您可以使用sender的索引或
indexPathForSelectedRows
,因此您只需要一个模拟要在可访问性操作目标中获取所选索引?@HirenPrajapati您可能还想使用
UIAccessibilityFocusedElement
全局函数,我将其添加到了答案中。我真的不知道如何使用这些函数以及如何调用它们。我已经使用了AccessibilityElementDibEcomeFocused()方法,但它没有被调用。我还没有使用UIAccessibilityCustomActions,甚至不知道如何使用它。我使用accessibilityScroll()提供滑动方向,因此我相应地调用了我的操作。并且didSelectRowatinexPath()仅当voice-over用户双击时才会被调用。我指的是对焦或单键点击行。请帮助。嘿。启用voice-over时,如何获取当前对焦元素的CGPoint?