Objective c 自定义UIView未在Voice Over上显示可访问性

Objective c 自定义UIView未在Voice Over上显示可访问性,objective-c,ios,cocos2d-iphone,accessibility,uiaccessibility,Objective C,Ios,Cocos2d Iphone,Accessibility,Uiaccessibility,我正在尝试使用openGL视图进行画外音,特别是从cocos2d框架 从Apple易访问性指南中,我遵循了以下部分: 我对视图(CCGLView for cocos2d people)进行了子类化,它是一个UIView,用于实现非正式的UIAccessibilityContainer协议 UIAccessibilityContainer在我的子类UIView中的实现: -(NSArray *)accessibilityElements{ return [self.delegate accessi

我正在尝试使用openGL视图进行画外音,特别是从cocos2d框架

从Apple易访问性指南中,我遵循了以下部分:

我对视图(CCGLView for cocos2d people)进行了子类化,它是一个UIView,用于实现非正式的UIAccessibilityContainer协议

UIAccessibilityContainer在我的子类UIView中的实现:

-(NSArray *)accessibilityElements{
return [self.delegate accessibleElements];
}

-(BOOL)isAccessibilityElement{
return NO;
}
-(NSInteger)accessibilityElementCount{
return [self accessibilityElements].count;
}
-(NSInteger)indexOfAccessibilityElement:(id)element{
return [[self accessibilityElements] indexOfObject:element];
}
-(id)accessibilityElementAtIndex:(NSInteger)index{
return [[self accessibilityElements] objectAtIndex:index];
}
正在调用此代码,并且
-(NSArray*)acessibilityElements
正在返回UIAccessibilityElements数组。但是,当我触摸屏幕时,画外音控件没有显示。你知道我错过了什么或做错了什么吗

其他信息:

-(NSArray *)accessibilityElements{
return [self.delegate accessibleElements];
}

-(BOOL)isAccessibilityElement{
return NO;
}
-(NSInteger)accessibilityElementCount{
return [self accessibilityElements].count;
}
-(NSInteger)indexOfAccessibilityElement:(id)element{
return [[self accessibilityElements] indexOfObject:element];
}
-(id)accessibilityElementAtIndex:(NSInteger)index{
return [[self accessibilityElements] objectAtIndex:index];
}
我正在使用故事板并将CCGLView添加到故事板中的UIView。_director.view是我的子类CCGLView

 // Add the director as a child view controller.
[self addChildViewController:_director];

// Add the director's OpenGL view, and send it to the back of the view hierarchy so we can place UIKit elements on top of it.
[self.view addSubview:_director.view];
[self.view sendSubviewToBack:_director.view];
有一段时间我怀疑,因为我添加了子视图,这导致它没有出现,但我也尝试以相同的方式在故事板中对UIView进行子类化,但它也不起作用

这也是我在数组中创建每个UIAccessibilityElement的方式

UIAccessibilityElement *elm = [[UIAccessibilityElement alloc] initWithAccessibilityContainer:view];
    elm.accessibilityFrame = f;
    elm.accessibilityLabel = t.letter;
    elm.isAccessibilityElement = YES;
    elm.accessibilityHint = @"Button";
    elm.accessibilityValue = t.letter;
    elm.accessibilityTraits = UIAccessibilityTraitButton;

找到了一个现在有效的解决方案,以防有人遇到这个问题
-(id)AccessibilityElementIndex:(NSInteger)索引
正在返回一个正确的
UIAccessibilityElement
,但看起来它似乎没有被使用它的任何AccessibilityAPI保留。我制作了一个强大的NSArray属性来保存UIAccessibilityElements,现在它运行良好