当UICollectionView更改布局时,覆盖UIAccessibilityLayoutChangedNotification

时间:2016-03-18 14:46:03

标签: ios uicollectionview voiceover uiaccessibility

我尝试在我的收藏视图中启用配音辅助功能。 1.选择项目后,它将删除该部分中的其余项目,仅保留选定的项目。 2.当我再次选择该项目时,它将使用之前删除的项目重新填充该部分。

对于第1步,画外音会很好地读出该项目,并且在布局更改后它将成为焦点。

然而,对于第2步,事情变得有点奇怪。它将开始读出该项目,并在它完成之前,焦点跳转到另一个项目,然后开始读取该项目。

从Apple关于集合视图的文档中,它会在布局发生时自动发布布局更改通知。但是,从它的外观来看,它在布局改变后将一些随机元素传递给第一个焦点元素。

  

当集合视图更改其屏幕布局时,它会发布UIAccessibilityLayoutChangedNotification通知。

是否有覆盖此自动布局更改通知,以便我可以传入正确的焦点元素?

1 个答案:

答案 0 :(得分:0)

我找到了发生了什么的原因。 元素随机聚焦的原因是因为我在performBatchUpdate的完成块中的collectionview上调用reloadData。 删除reloadData解决了这个问题。但是,因为我没有调用reloadData,所以我必须在特定单元格上调用reloadItemsAtIndexPaths,这在我的情况下很好。