如何在 Swift 中更改使用 VoiceOver 选择可拖动单元格的行为?

How can I change the behaviour of selecting a draggable cell with VoiceOver in Swift?

我对 iOS 和辅助功能还很陌生,但我正在尝试为视障人士编写一个 iOS 应用程序,该应用程序对有视力的人也将是用户友好的。

它涉及将细胞从一个 UICollectionView 移动到另一个。第二个 UICollectionView 就像一个大的方格单元格,我已经为有视力的人实现了拖放。但是,对于盲人,我需要一些其他方式来移动单元格,因为我的盲人测试人员告诉我他们不太可能使用拖放应用程序。

问题是如果我打开 VoiceOver,双击手势没有任何作用。如果我双击并按住,它会选择要拖动的单元格,而不是仅仅选择要移动的项目并等待被告知将其移动到哪里。

是否有一些方法可以在 VoiceOver 关闭时进行拖放,以及在 VoiceOver 打开时使用不同的方法移动同一项目?

您可以在 What's New in Accessibility WWDC 2017 video 中找到有关使用 VoiceOver 进行拖放的一些信息,其中包含非常详细的摘要。

accessibilityDragSourceDescriptorsaccessibilityDropPointDescriptors 似乎是最重要的变量。

我自己从未实现过它,但这个网站是我第一个找到正确方法的地方。