2011-08-24 12 views
16

मैं अपने नेविगेशन बार का रंग बदलने की कोशिश कर रहा हूं। निम्नलिखित आरजीबी एक गहरे लाल रंग के लिए है, लेकिन निम्नलिखित कोड के बाद मेरी नौसेना बार सफेद हो जाती है।आईओएस में नेविगेशन कंट्रोलर के टूलबार रंग को कैसे बदला जाए?

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117 green:4 blue:32 alpha:1]; 

उत्तर

28

इसका कारण यह है CGFloat मूल्यों 0.0 to 1.0 से 0 to 255 से नहीं लेकर है, और 1.0 ऊपर मूल्यों 1.0 के रूप में व्याख्या कर रहे हैं।

यहाँ प्रलेखन है: UIColor

16

बस इस कार्य करें:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]; 
+0

मैंने यह किया और अब यह अंधेरे लाल – aryaxt

+0

के बजाय काले रंग के रूप में दिखाई दे रहा है ऐसा लगता है कि आप सभी विकल्पों के लिए केवल सफेद या केवल काले देख रहे हैं ... क्या आप वाकई बी एंड डब्ल्यू मॉनीटर नहीं रखते हैं? :) सुनिश्चित करें कि आप अपने ऐप में कहीं और इस टिंट रंग को ओवरराइड नहीं कर रहे हैं। – TommyG

+0

मुझे नहीं लगता कि यह मामला है। क्योंकि जब मैं [यूआईसीओलोर रेडकोलर] का उपयोग करता हूं, या कोई अन्य परिभाषित रंग यह ठीक काम करता है – aryaxt

6

आप के लिए 255 का प्रयास प्रत्येक मान को विभाजित करने के लिए है:

[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1] 
+5

उन मानों को फ्लोट होना चाहिए और पूर्णांक नहीं होना चाहिए, अन्यथा परिणाम एक पूर्णांक होगा। –

+1

@ जोआओपोर्टेला: मैंने जवाब संपादित किया है ताकि मूल्य फ्लोट के रूप में बने रहें। –

3

मुझे लगता है कि आप से आते हैं, तो वेब या फ़ोटोशॉप की तरह कुछ से, हेक्साडेसिमल रंगों के साथ काम करना आसान है। आपको लगता है कि के लिए इस मैक्रो का उपयोग कर सकते हैं:

//RGB color macro 
#define UIColorFromRGB(rgbValue) [UIColor \ 
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ 
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ 
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] 

और इस तरह इसका इस्तेमाल:

self.navigationBar.tintColor = UIColorFromRGB(0xd8dadf); 
0

आह, यह हास्यास्पद है। असली जवाब यह है कि .intColor नेविगेशन नियंत्रक के नेविगेशन आइटम (जैसे "पूर्ण" बटन) के लिए रंग सेट करता है।

+0

हाल ही में आईओएस में यह वही तरीका है, जब सवाल पूछा गया था। – zeroimpl

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

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