मैं में आईओएस 5 के लिए निम्नलिखित कोड का उपयोग कर मेरी UINavigationBar फ़ॉन्ट अनुकूलित करने के लिए कोशिश कर रहा हूँ, मेरे ऐप प्रतिनिधि के application:didFinishLaunchingWithOptions
:अनुकूलित UINavigationBar फ़ॉन्ट
if ([[UINavigationBar class] respondsToSelector:@selector(appearance)])
{
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIColor blackColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(1, 0)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:kDefaultFont size:0.0], UITextAttributeFont,
nil]];
}
यह ठीक काम करता है और नेविगेशन पट्टी मेरे फ़ॉन्ट का उपयोग कर गाया है। महान।
references मुझे पता चला है कि आप शून्य के फ़ॉन्ट आकार का उपयोग कर सकते हैं और यह आपके नेविगेशन बार को फिट करने के लिए फ़ॉन्ट का आकार बदल देगा (लैंडस्केप लेआउट के लिए छोटे नेविगेशन बार के लिए थोड़ा छोटा फ़ॉन्ट का उपयोग करके)। और यह एक फ़ॉन्ट आकार चुनता है जो नेविगेशन बार की ऊंचाई पर अच्छी तरह से फिट बैठता है। लेकिन ऐसा लगता है कि क्या आप पोर्ट्रेट से परिदृश्य और पीछे जाते हैं, नेविगेशन बार के शीर्षक लेबल की चौड़ाई खराब हो जाती है, इसलिए शीर्षक के रूप में जो दिखाता है, उदाहरण के लिए, "लांग टाइटलबार", जब आप इसे पहली बार देखते हैं तो ठीक लग रहा है पोर्ट्रेट ओरिएंटेशन में, जब आप इसे लैंडस्केप (उचित रूप से छोटे फ़ॉन्ट के साथ) देखते हैं तो ठीक लग रहा है, लेकिन जब मैं पोर्ट्रेट पर वापस आ जाता हूं, तो फ़ॉन्ट सही ढंग से बड़े फ़ॉन्ट पर वापस आ जाता है, लेकिन शीर्षक टेक्स्ट को छोटा कर दिया जाता है, जिससे "लंबा .. "भले ही पूर्ण शीर्षक के लिए पर्याप्त जगह है। 0.0 के फ़ॉन्ट आकार का उपयोग करते समय किसी और ने इस व्यवहार को देखा है?
स्पष्ट रूप से, मैं केवल एक वास्तविक फ़ॉन्ट आकार निर्दिष्ट कर सकता हूं (जिस स्थिति में मुझे यह छोटा व्यवहार नहीं दिख रहा है), लेकिन फिर मैं मैन्युअल रूप से यह पता लगा रहा हूं कि किस आकार का उपयोग करना है। और इससे भी बदतर, फ़ॉन्ट आकार लैंडस्केप और पोर्ट्रेट के लिए समान है, इसलिए अभी मैं एक फ़ॉन्ट आकार का उपयोग कर रहा हूं जो छोटे परिदृश्य नेविगेशन बार शीर्षक में फिट बैठता है और शीर्षक लम्बे पोर्ट्रेट नेविगेशन बार में होने की आवश्यकता से छोटा है।
क्या किसी को भी का उपयोग [UINavigationBar appearance]
के फ़ॉन्ट को बदलने के लिए अनुभव किया गया है ताकि फ़ॉन्ट आकार चित्र और परिदृश्य के बीच बदल जाए, लेकिन जब आप जाने के बाद चित्र पर वापस लौटते हैं तो शीर्षक का यह छंटनी नहीं होता है परिदृश्य के लिए? मैं विभिन्न क्लूडी वर्कअराउंड्स का पीछा करने जा रहा हूं, लेकिन अगर आपको इस मुद्दे में कोई अनुभव है, तो मुझे बताएं।
अद्यतन:
एप्पल को यह बग जमा करने की प्रक्रिया में, मैं प्रदर्शित करने के लिए कैसे समस्या पुन: पेश करने का फैसला किया:
Xcode 4.3 में नया iOS मास्टर-विस्तार से आवेदन बनाएँ। 2।
ऐप प्रतिनिधि के
application:didFinishLaunchingWithOptions
में उपरोक्तsetTitleTextAttributes
कोड डालें (मैंने फ़ॉन्ट @ "गिलसन" का उपयोग किया था)।MasterViewController में जाओ और लाइन है कि कहते हैं
self.title = @"Long Title";
टिप्पणी बाहर
UIBarButtonItem *addButton
कोड जोड़ें।प्रोग्राम चलाएं। नोट शीर्षक सही ढंग से "लंबा शीर्षक" कहता है। परिदृश्य में घुमाएं। अभी भी अच्छा लग रहा है। पोर्ट्रेट पर वापस घुमाएं और शीर्षक अब "लांग ..." कहता है, भले ही वहां बहुत सारी जगह है।
उत्सुकता से, यदि आप
UIBarButtonItem *addButton
कोड को पुनर्स्थापित करते हैं, तो शीर्षक उस कार्य के रूप में कार्य करता है। लेकिन यदि आप या तो UIBarButton आइटम को खत्म करते हैं, या इसे 10 के बजायinitWithTitle
का उपयोग करने वाले बटन के साथ प्रतिस्थापित करते हैं, तो आपको पोर्ट्रेट से परिदृश्य में घूर्णन करने के बाद नेविगेशन बार शीर्षक के साथ समस्या मिलती है और फिर चित्र पर वापस आती है।
मुझे एक समस्या थी जहां पहली बार प्रदर्शित होने पर मेरे कस्टम फ़ॉन्ट नेविगेशन बार शीर्षक "समय-समय पर छंटनी" किए गए थे लेकिन उसके बाद ठीक थे। आईओएस 6-आईएसएम माना जाता है। वैसे भी, मैं खोज रहा हूं कि मैं फ़ॉन्ट आकार को 0.0 तक सेट कर सकता हूं। धन्यवाद! – mharper
इस विधि का उपयोग करते हुए आईओएस 5.1 सिम्युलेटर पर दिलचस्प बात यह है कि शीर्षक * pushModalViewController संक्रमण के दौरान * छोटा कर दिया गया है, लेकिन संक्रमण पूर्ण होने के बाद ठीक दिखाई देता है। आईओएस 6.0 सिम्युलेटर पर, यह अपेक्षित के रूप में काम करता है। –