2012-10-30 8 views
5

enter image description hereपहुँच क्षमता, योग्यता क्रम मुद्दा

यह जिस क्रम में आईपैड में पहुँच के लिए योग्यता सुविधा तत्वों, जब 'दो उंगली फ़्लिक नीचे' इशारा किया जाता है बाहर पढ़ता बदलने के लिए संभव है पढ़ा है? > लेबल 2 - -> बटन -

संलग्न छवि है, जो 3 लेबल और एक बटन होता है के लिए, योग्यता निम्नलिखित तरीके से तत्वों,

लेबल 1 पढ़ता> लेबल 3

कर सकते हैं आदेश के लिए बदला जा,

लेबल 1 -> लेबल 2 -> लेबल 3 -> बटन

उत्तर

13

जल्द से जल्द उदाहरण के लिए इस लक्ष्य को हासिल करने के लिए एक पारदर्शी UIView एक के रूप में सेवा करने के लिए उपवर्ग में तीन लेबल जगह है वाई के लिए कंटेनर हमारे लेबल वॉइसओवर को यह समझने के लिए कि यह सबक्लास को उचित तरीके से सेटअप करना होगा। यदि आपका परिनियोजन लक्ष्य iOS6 है तो आप इस सबक्लास में "समूह पहुंच योग्यता बच्चों" प्रश्न का उत्तर दे सकते हैं।

-(BOOL)shouldGroupAccessibilityChildren{ 
    return YES; 
} 

iOS6 नीचे यह और अधिक जटिल हो जाएगा के लिए, सिवाय इसके कि अपने UIView कंटेनर उपवर्ग केवल UILabels जो पहुँच तत्व हैं होते हैं। आप इसे इस तरह लागू हो सकते हैं:

-(BOOL)isAccessibilityElement{ 
    return NO; 
} 
-(NSInteger)accessibilityElementCount{ 
    return self.subviews.count; 
} 
-(id)accessibilityElementAtIndex:(NSInteger)index{ 
    return [self.subviews objectAtIndex:index]; 
} 
-(NSInteger)indexOfAccessibilityElement:(id)element{ 
    return [self.subviews indexOfObject:element]; 
} 

मैं इस उदाहरण कोड का परीक्षण किया है और यह आप के लिए क्या देख रहे हैं, अगर आप किसी भी स्पष्टीकरण की जरूरत है एक टिप्पणी जोड़ने के लिए कृपया है। चीजों को और अधिक सुलभ बनाने में मदद करने के लिए हमेशा खुश रहें।

+0

उस उत्तर के लिए धन्यवाद। लेकिन, 'mustGroupAccessibilityChildren' को प्रतीत नहीं होता है। – Breakpoint

+1

@ विटल 'कन्फ ग्रुप..' केवल आईओएस 6 उपकरणों द्वारा बुलाया जाएगा जो सभी एप्स> = 6 एसडीके के साथ नहीं बनाए गए हैं।यह भी पुष्टि करें कि पहचान लेबल का उपयोग करके आपके लेबल वाले दृश्य xib या स्टोरीबोर्ड में आपकी कस्टम कक्षा का दृश्य है। अगर आपको अभी भी परेशानी है तो मुझे बताएं। – NJones

+0

आह, कस्टम क्लास हिस्सा वह है जो मैं याद कर रहा था। मूर्ख त्रुटि। यह अब काम करता है। बहुत बहुत धन्यवाद। और हाँ मैं आईओएस 6 पर परीक्षण कर रहा था। बाकी का परीक्षण करने के लिए 6 से नीचे संस्करण पर अपने हाथों की आवश्यकता है। तो बस कस्टम वर्ग में आईओएस 6 के नीचे कोड जोड़ना सही होगा? – Breakpoint

0

मुझे लगता है कि आप इसे स्टोरीबोर्ड में कर सकते हैं। वॉयसओवर ऑर्डर दस्तावेज़ रूपरेखा में विचारों के क्रम द्वारा निर्धारित किया जाता है।

सही क्रम में दृश्य पदानुक्रम में दृश्यों को खींचें और छोड़ें।

+0

मेरे पास उन्हें सही क्रम में है लेकिन फिर भी वॉयसओवर उन्हें सही ढंग से नहीं पढ़ता है। मैं आईओएस 9 का उपयोग कर रहा हूं हालांकि, मुझे नहीं पता कि चीजें तब से बदल गई हैं या नहीं। – user1366265

+1

नहीं, वे आम तौर पर स्क्रीन पर अनिवार्य रूप से बाएं से दाएं पढ़ते हैं –

4

मैंने shouldGroupAccessibilityChildren को YES पर सेट करने का प्रयास किया लेकिन यह मेरे लिए काम नहीं किया।

मेरे लिए क्या काम किया गया था सीधे माता-पिता के दृश्य के अभिगम्यता लेबल को सेट कर रहा था (क्योंकि मैं चाहता था कि सभी आइटम एक go/one VoiceOver इशारा में पढ़ा जाए)।

[cell setAccessibilityLabel:[NSString stringWithFormat:@"%@, %@", cityLabel, temperatureLabel]]; 

कोड ऊपर टुकड़ा एप्पल के प्रलेखन Enhancing the Accessibility of Table View Cells

0

स्विफ्ट में, माता पिता UIView करने के लिए एक IBOutlet संलग्न है, तो सही पर shouldGroupAccessibilityChildren स्थापित करने के लिए पर्याप्त होगा से है।

abc.shouldGroupAccessibilityChildren = सच

मैं ध्यान दें था कि यदि भी isAccessibilityElement = true की स्थापना समूहीकरण प्रभावी नहीं होगा। इसी तरह, स्टोरीबोर्ड या एक्सआईबी में एक्सेसिबिलिटी चेकबॉक्स की जांच करने से समूह को होने से भी रोका जा सकता है।