Ios 如何防止通过画外音自动滚动UICollectionView?

Ios 如何防止通过画外音自动滚动UICollectionView?,ios,uicollectionview,uiscrollview,accessibility,voiceover,Ios,Uicollectionview,Uiscrollview,Accessibility,Voiceover,我有一个水平滚动的UICollectionView,上面有一个标题标签,下面有一个UIPageControl UILabel UICollectionView UIPageControl 当我打开VoiceOver辅助功能并开始按顺序浏览屏幕时,集合视图会自动滚动到开头或结尾。使页面突然跳转。例如,如果我使用page control滚动到第二页,并移回collection视图,它会意外地显示并读取最后一页。因为我在可访问性模式下使用页面控件进行导航,所以我想防止自动滚动 我如何预防或应对这种情

我有一个水平滚动的UICollectionView,上面有一个标题标签,下面有一个UIPageControl

UILabel
UICollectionView
UIPageControl
当我打开VoiceOver辅助功能并开始按顺序浏览屏幕时,集合视图会自动滚动到开头或结尾。使页面突然跳转。例如,如果我使用page control滚动到第二页,并移回collection视图,它会意外地显示并读取最后一页。因为我在可访问性模式下使用页面控件进行导航,所以我想防止自动滚动

我如何预防或应对这种情况

我发现一个问题似乎描述了相同的问题,但没有解决建议:

我在iOS 13.4.1 iPhone 11 Pro上遇到了它 可访问性焦点的更改触发自动滚动也会触发对UIScrollViewDelegate中的
scrollViewDidScroll(:)
的调用。通过按您喜欢的方式设置
contentOffset
来抵消自动滚动效果f.i


您可能需要检测到滚动实际上是由辅助功能触发的,而不是用户拖动或挤压
UIAccessibility.IsVoiceOverling
UIAccessibilityFocus.AccessibilityYelementDibEcomeFocus()
是您的朋友。请注意,更改
contentOffset
(或
zoomScale
或任何需要的内容)可能会触发对
scrollViewDidScroll(:)
)的另一个调用,因此您需要防止无限递归。

谢谢。我想我明白了,可以用这个做点什么。我希望
UIAccessibilityFocus.AccessibilityYelementDibEcomeFocused()
scrollViewDidScroll(:)
的顺序将允许我正确检测自动辅助功能滚动。如果我再回到这个问题上来,我会试试的。谢谢你的回答。