2012-07-24 11 views
7

ऐप्पल की आवाज मेरे विचारों में से एक का शीर्षक गलत तरीके से गलत करती है, जो एक यूएनविगेशन नियंत्रक के अंदर है।आईओएस पहुंच - आप UINavigationBar के शीर्षक के लिए अभिगम्यता लेबल कैसे सेट करते हैं?

ऐप के अन्य हिस्सों में मैंने कंपनी के नाम को सही तरीके से उच्चारण करने में सहायता के लिए एक कस्टम एक्सेसिबिलिटी लेबल जोड़ा है। मैं UINavigationBar के अभिगम्यता लेबल को कैसे सेट कर सकता हूं?

उत्तर

10

मैं किसी आसान तरीका लेबल नहीं जोड़ सकता है, लेकिन मैं एक समाधान मिला:।

मैं एक UILabel पहुँच है कि साथ navigationItem के शीर्षक देखें की जगह सेट अप।

UILabel *titleLabel = [[UILabel alloc] init]; 
titleLabel.text = @"myTitle"; 
[titleLabel setAccessibilityLabel:@"myCustomAccessiblityLabel"]; 
[titleLabel setFont:[UIFont boldSystemFontOfSize:20.0]]; 
[titleLabel setBackgroundColor:[UIColor clearColor]]; 
[titleLabel setTextColor:[UIColor whiteColor]]; 
[titleLabel sizeToFit]; 
self.navigationItem.titleView = titleLabel; 

मुझे यकीन नहीं है कि एक्सेसिबिलिटी लेबल क्यों सेट नहीं करता है, लेकिन उपरोक्त कोड मेरी आवश्यकताओं के लिए काम करता है।

+2

के अंदर अपना कामकाज पोस्ट करने के लिए धन्यवाद! UINavigationBar के साथ समस्या ऐप्पल के साथ दाखिल करने लायक हो सकता है। वे अभिगम्यता से संबंधित बग रिपोर्ट को संबोधित करने के बारे में बहुत अच्छे हैं (UIBarButtonItem समस्या सहित मैंने ऊपर उल्लिखित किया था)। – Turix

+0

महान विचार आदमी! – Husam

0

UINavigationBarUIView से विरासत में, आप अपनी accessibilityLabel संपत्ति सेट करने में सक्षम होना चाहिए। आज़माएं: yourUINavigationBar.accessibilityLabel = @"title";

इसके अलावा, आपको यह सुनिश्चित करने की आवश्यकता हो सकती है कि इसे yourUINavigationBar.isAccessibilityElement = YES; के साथ एक एक्सेसिबिलिटी तत्व के रूप में चिह्नित किया गया हो (और किसी अन्य दृश्य के अंदर नहीं है जिसे एक्सेसिबिलिटी तत्व के रूप में भी चिह्नित किया गया है)। (मुझे लगता है कि यह आखिरी बिट मुद्दा हो सकता है, क्योंकि ऐसा प्रतीत होता है कि आप पहले से ही एक्सेसिबिलिटी लेबल्स के बारे में जानते थे। आप सिम्युलेटर में एक्सेसिबिलिटी इंस्पेक्टर का उपयोग कर सकते हैं यह देखने के लिए कि क्या यह तत्व है जब आप तत्व के चारों ओर बॉक्स को देखकर ऐसा करते हैं अगर यह नाविक बार से भी बड़ा कुछ चारों ओर देखने के लिए उसे टैप करें)

+0

यह मेरे लिए काम नहीं करता है मुझे डर है। मैं सेट करने योग्यता एलिमेंट = हाँ सेट करता हूं, और शीर्षक किसी अन्य दृश्य के अंदर नहीं है जिसे अभिगम्यता तत्व के रूप में चिह्नित किया गया है। –

+0

@RobertWagstaff क्षमा करें! मैं कबूल करता हूं कि मुझे कभी भी यह समस्या नहीं मिली है, लेकिन यह मेरे लिए होता है कि शायद आपको 'UINavigationItem' ऑब्जेक्ट की 'शीर्षक दृश्य' संपत्ति के लिए ऐसा करने की आवश्यकता है। (बीटीडब्लू, यह अतीत में सुलभता 'UIBarButtonItem' के साथ एक समस्या के समान प्रतीत होता है जहां यह "सामान्य" UIView से संबंधित सामान की तरह व्यवहार नहीं करता था।) – Turix

+0

अभी भी कोई भाग्य नहीं है, मैंने कोशिश की: self.navigationItem। शीर्षक = @ "myTitle"; [self.navigationItem.titleView setIsAccessibilityElement: YES]; [self.navigationItem.titleView setAccessibilityLabel: @ "AccessibilityTitle"]; लोड व्यू –

14

यह आईओएस 8.2 में काम करता है। viewDidLoad में:

self.navigationItem.accessibilityLabel = @"My accessible label"; 

दृश्य नियंत्रक करने के लिए एक नेविगेशन नियंत्रक संक्रमण, accessibilityLabel दृश्य नियंत्रक title के बजाय पढ़ा जाता है।

+0

आईओएस 7.1.2 पर मेरे लिए काम किया। यह सही उत्तर है और इसे सही उत्तर के रूप में चुना जाना चाहिए। – Vlad

+0

बेस्ट उत्तर, आईओएस 9 पर काम करें। – BollMose

+0

सहमत, सबसे अच्छा जवाब। – Tyten

संबंधित मुद्दे