2013-06-28 9 views
9

में आ रहा है मैं UITabBar के साथ अपने ऐप में UINavigationBar का उपयोग कर रहा हूं। पहले टैब पर, नेविगेशन बार शीर्षक डिफ़ॉल्ट पृष्ठभूमि रंग के साथ एक सफेद शीर्षक के रूप में ठीक से आ रहा है, लेकिन दूसरे टैब पर यह वैसे ही काम नहीं कर रहा है। मैं शीर्षक रंग या नेविगेशन बार के tintColor को बदलने के लिए किसी भी कोड का उपयोग नहीं कर रहा हूं।नेविगेशनबार शीर्षक काला रंग

पहला दृश्य:
http://img407.imageshack.us/img407/7192/4go.png

दूसरा दृश्य: http://img824.imageshack.us/img824/4493/idtk.png

क्यों दूसरे दृश्य की UINavigationBar शीर्षक इस काले रंग में तैयार की है?

+0

मुझे लगता है कि आप दूसरे दृश्य में नेविगेशन पट्टी टुकड़ी के लिए रंग निर्धारित करना चाहिए की जाँच कि – Jitendra

उत्तर

26

आम तौर पर, आप UINavigationBar शीर्षक का डिफ़ॉल्ट रंग नहीं बदल सकते हैं। यदि आप UINavigationBar शीर्षक को कस्टमाइज़ करने की आवश्यकता है, तो आप UINavigationBar शीर्षक का रंग बदलना चाहते हैं। इसलिए अधिक समझने के लिए अपने दूसरे व्यू कंट्रोलर के लिए कोड डालें।

संपादित करें:

खोज के बाद, मैंने पाया है कि आप और बाद में iOS5 में से

self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]; 

इस कोड काम कर रहा है UINavigationBar के शीर्षक रंग बदल सकते हैं।

+0

मैं शीर्षक का रंग बदलने की कोशिश की, लेकिन यह काम नहीं कर रहा। एक और बात दूसरी दृश्य नियंत्रक कोड प्रभावित नहीं कर रहा है अगर मैं बिना किसी कोड के नए व्यू कंट्रोलर का उपयोग कर रहा हूं, तो एक ही समस्या हो रही है ..... – Rivan

+0

@rivan अगर आप आईओएस 5 पर काम करते हैं तो इस कोड को ViewDidLoad विधि में रखें मैंने इसे अपने पर कोशिश की प्रोजेक्ट यह मेरे लिए काम कर रहा है :) – iPatel

+0

@ रिवन- क्या यह आपके लिए काम कर रहा है या नहीं ??? – iPatel

1

यह कोड सभी नेविगेशनबार के पाठ को बदलता है, इस कोड के साथ पाठ को 100% अनुकूलित किया जा सकता है।

AppDelegate में

:

//custom text navBar 
    [[UINavigationBar appearance] setTitleTextAttributes: 
    [NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:0x73/255.0 green:0x47/255.0 blue:0x41/255.0 alpha:1.0], UITextAttributeTextColor, 
    [UIColor colorWithRed:0x1D/255.0 green:0x1D/255.0 blue:0x1B/255.0 alpha:1], UITextAttributeTextShadowColor, 
    [NSValue valueWithUIOffset:UIOffsetMake(0, 1)],UITextAttributeTextShadowOffset, 
    [UIFont fontWithName:@"yourFont" size:20], UITextAttributeFont, nil]]; 
+0

में बदलना होगा जब मैं आपके कोड का उपयोग कर रहा हूं, यह पहली बार नेविगेशन नेविगेशन नियंत्रक शीर्षक को काला रंग में बदल रहा है और सभी दृश्य जो पहले के तहत हैं (पुश व्यू के बाद) सफेद रंग में हैं। – Rivan

7

यह आपको 7 उपयोग iOS के लिए रंग

NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys: 
             [UIColor whiteColor],UITextAttributeTextColor, 
             [UIColor blackColor],  UITextAttributeTextShadowColor, 
             [NSValue valueWithUIOffset:UIOffsetMake(-1, 0)], UITextAttributeTextShadowOffset, nil]; 

[[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes]; 
+0

मेरे मामले में काम नहीं कर रहा है। – Rivan

11

उपरोक्त सुझावों में से अधिकांश अब पदावनत कर रहे हैं, को बदलने के लिए अनुमति देगा -

NSDictionary *textAttributes = [NSDictionary dictionaryWithObjectsAndKeys: 
           [UIColor whiteColor],NSForegroundColorAttributeName, 
           [UIColor whiteColor],NSBackgroundColorAttributeName,nil]; 

self.navigationController.navigationBar.titleTextAttributes = textAttributes; 
self.title = @"Title of the Page"; 

साथ ही, सेट किए जा सकने वाले विभिन्न टेक्स्ट गुणों के लिए NSAttributedString.h को चेकआउट करें।

+0

यह मेरे लिए बहुत अच्छा काम करता है। मैं इसे अद्यतन आईओ 7 फिक्स के लिए पोस्ट करने वाला था, ऊपर वोट दिया! – Coughlin

4

आईओएस 7 के लिए कोड के इस बिट का उपयोग करें UITextAttributeTextColor को हटा दिया गया है।

self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor orangeColor] forKey:NSForegroundColorAttributeName]; 
8

AppDelegate में इस प्रयास करें:

[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}]; 
+0

धन्यवाद। यह सही जवाब है। आप इसे एक सामान्य ऐप में दिखाना चाहते हैं, जिसे आप वास्तव में सभी नेविगेशन बार देखना चाहते हैं। – n13

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