5

पर एक्सेसिबिलिटी नहीं दिखा रहा है, मैं विशेष रूप से कोकोस 2 डी फ्रेमवर्क से ओपनजीएल व्यू के साथ काम करने पर आवाज प्राप्त करने की कोशिश कर रहा हूं। अनौपचारिक UIAccessibilityContainer प्रोटोकॉल लागू करने Make the Contents of Custom Container Views Accessibleकस्टम UIView वॉयस ओवर

मैं (CCGLView Cocos2d लोगों के लिए) दृश्य subclassed किया है, जो एक UIView है,:

एप्पल पहुँच क्षमता गाइड से मैं इस खंड का पालन किया। मेरी subclassed UIView में

UIAccessibilityContainer कार्यान्वयन:

-(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 की एक सरणी लौटा रहा है। हालांकि जब मैं स्क्रीन को स्पर्श करता हूं तो नियंत्रण पर आवाज दिखाई नहीं दे रही है। मैं क्या खो रहा हूं या गलत कर रहा हूं पर कोई विचार?

अन्य जानकारी:

मैं एक स्टोरीबोर्ड उपयोग कर रहा हूँ और स्टोरीबोर्ड में UIView करने के लिए CCGLView जोड़ने। _director.view CCGLView है जिसे मैंने उपclassed।

// 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]; 

थोड़ी देर मैं संदिग्ध के लिए है कि क्योंकि मैं subview कहा कि इस यह दिखाने के लिए नहीं पैदा कर रहा था, लेकिन मैं यह भी उसी तरह स्टोरीबोर्ड में 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; 

उत्तर

6

किसी ऐसे समाधान को मिला जो अब किसी को समस्या है। -(id)accessibilityElementAtIndex:(NSInteger)index एक उचित UIAccessibilityElement लौटा रहा था, लेकिन ऐसा लगता है कि यह एक्सेसिबिलिटी एपीआई इसका उपयोग कर रहा है जो इसे बनाए रखा नहीं जा रहा था। मैंने UIAccessibilityElements को पकड़ने के लिए एक मजबूत NSArray प्रॉपर्टी बनाई है और अब यह ठीक काम कर रहा है।

+0

यह मुझे कुछ घंटों के लिए पागल कर रहा है - धन्यवाद! –