Ios 未通过画外音读取UIImageView

Ios 未通过画外音读取UIImageView,ios,uiscrollview,uiimageview,accessibility,uiaccessibility,Ios,Uiscrollview,Uiimageview,Accessibility,Uiaccessibility,我在UIScrollView中包含了一组UIImageView。出于某种原因,当我让画外音读取页面上的所有元素时,它不会像应该的那样读取ImageView。我将UIImageView的可访问性信息设置为: if (self.featuresModel.imageText) { self.featureImage.isAccessibilityElement = YES; self.featureImage.accessibilityLabel = self.featuresMod

我在UIScrollView中包含了一组UIImageView。出于某种原因,当我让画外音读取页面上的所有元素时,它不会像应该的那样读取ImageView。我将UIImageView的可访问性信息设置为:

if (self.featuresModel.imageText) {
    self.featureImage.isAccessibilityElement = YES;
    self.featureImage.accessibilityLabel = self.featuresModel.imageText;
}
我已经检查过UIScrollView没有设置为可访问,因此它没有拦截触摸。它似乎表明它将在模拟器中工作,当我单击图像时,它会弹出正确的标签并突出显示正确的区域,然而,在物理设备上,单击或尝试读取页面上的所有元素在到达UIImageView时没有任何作用

关于如何解决这个问题有什么想法吗


编辑:scrollView类是UIScrollView的一个自定义子类,它不直接实现UIAccessibility协议,但是,由于它使用UIScrollView作为其底层数据结构,因此我认为这并不重要,由于我仍然不太了解UIAccessibility,所以我想我应该提到它。

请确保您在storyboard/nib上为imageview启用了可访问性

如果将isAccessibilityElement设置为YES,则画外音将突出显示并读取它。同样,应该在nib中启用该元素的可访问性

如果将isAccessibilityElement设置为NO,则画外音不会突出显示它,也不会读取它,甚至在nib中启用了该元素的可访问性


注意:画外音不关心scrolview。它只关心滚动视图中的元素。如果需要,您可以更改可访问性元素的顺序。或者您可以在滚动视图中禁用元素的可访问性。

voice over hightlight图像视图还是跳过它?只需跳过它即可。我不知道这是否重要,但我的scrollView有点自定义,并且自定义子类没有实现UIAccessibilityProtocol,但是,我认为这不重要,因为它继承自UIScrollView。您是否在情节提要上打开了imageview的可访问性?我没有,这都是通过编程完成的。在nib中,imageView没有设置为可访问,但是如果我需要的文本可用,我会在上面的代码中将其设置为可访问。我已经设置了断点,并确认代码已达到可访问性的编程开启。如果要在nib中创建imageview,则必须在nib中启用可访问性。即使您将可访问性元素的值设置为“是”,voice也不会读取它。