iphone - आईओएस 7 नेविगेशन बार पाठ और तीर रंग




ios objective-c (7)

मैं नेविगेशन बार के लिए काला होना चाहता हूं और इसके अंदर के सभी रंग सफेद होने के लिए पृष्ठभूमि सेट करना चाहते हैं।

तो, मैंने इस कोड का इस्तेमाल किया:

[[UINavigationBar appearance] setTitleTextAttributes:
     [NSDictionary dictionaryWithObjectsAndKeys:
      [UIColor whiteColor],
      NSForegroundColorAttributeName,
      [UIColor whiteColor],
      NSForegroundColorAttributeName,
      [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
      NSForegroundColorAttributeName,
      [UIFont fontWithName:@"Arial-Bold" size:0.0],
      NSFontAttributeName,
      nil]];

लेकिन बैक बटन टेक्स्ट रंग , तीर और बार बटन में अभी भी डिफ़ॉल्ट नीला रंग है
नीचे दिए गए चित्रों पर उन रंगों को कैसे बदलें?


ऐसा लगता है कि iOS Settings में Accessibility कंट्रोल ने नेविगेशन बार बटन पर रंग-वार करने की कोशिश की हर चीज को ओवरराइड किया है। सुनिश्चित करें कि आपके पास डिफ़ॉल्ट सेटिंग्स में सभी सेटिंग्स हैं (सेट को विपरीत, बोल्ड टेक्स्ट , बटन आकार इत्यादि सेट करें) अन्यथा आपको कुछ भी बदलाव दिखाई नहीं देगा। एक बार मैंने ऐसा करने के बाद, सभी रंग परिवर्तन कोड अपेक्षित के रूप में काम करना शुरू कर दिया। आपको उन्हें बंद करने की आवश्यकता नहीं हो सकती है, लेकिन मैंने इसे आगे नहीं बढ़ाया।


मुझे लगता है कि पिछले जवाब सही हैं, यह वही काम करने का एक और तरीका है। मैं इसे दूसरों के साथ यहां साझा कर रहा हूं अगर यह किसी के लिए उपयोगी हो। इस प्रकार आप ios7 में navbar के लिए टेक्स्ट / शीर्षक रंग बदल सकते हैं:

UIColor *red = [UIColor colorWithRed:254.0f/255.0f green:0.0f/255.0f blue:0.0f/255.0f alpha:1.0];
NSMutableDictionary *navBarTextAttributes = [NSMutableDictionary dictionaryWithCapacity:1];
[navBarTextAttributes setObject:red forKey:NSForegroundColorAttributeName ];
self.navigationController.navigationBar.titleTextAttributes = navBarTextAttributes;

विन के जवाब ने मेरे लिए बहुत अच्छा काम किया। Xamarin.iOS / मोनो टच का उपयोग कर सी # डेवलपर्स के लिए एक ही समाधान है:

var navigationBar = NavigationController.NavigationBar; //or another reference
navigationBar.BarTintColor = UIColor.Blue;
navigationBar.TintColor = UIColor.White;
navigationBar.SetTitleTextAttributes(new UITextAttributes() { TextColor = UIColor.White });
navigationBar.Translucent = false;

UINavigationBar कुछ गुणों से व्यवहार आईओएस 7 से बदल गया है। आप नीचे दिखाए गए चित्र में देख सकते हैं:

दो सुंदर लिंक जो मैं आपके साथ साझा करना चाहता हूं। अधिक जानकारी के लिए आप इन लिंक के माध्यम से जा सकते हैं:

  1. आईओएस 7 यूआई संक्रमण गाइड
  2. आईओएस 7 के लिए अपनी ऐप कैसे अपडेट करें

barTintColor लिए ऐप्पल दस्तावेज़ीकरण कहता है:

यह रंग डिफ़ॉल्ट रूप से पारदर्शी बना दिया जाता है जब तक कि आप पारदर्शी गुण को NO पर सेट न करें।

नमूना कोड :

self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
[self.navigationController.navigationBar 
 setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
self.navigationController.navigationBar.translucent = NO;

स्विफ्ट / आईओएस 8

let textAttributes = NSMutableDictionary(capacity:1)
textAttributes.setObject(UIColor.whiteColor(), forKey: NSForegroundColorAttributeName)
navigationController?.navigationBar.titleTextAttributes = textAttributes

स्विफ्ट 3, आईओएस 10

वैश्विक रूप से रंग असाइन करने के लिए, AppDelegate में किया गयाफिशिश didFinishLaunchingWithOptions :

let textAttributes = [NSForegroundColorAttributeName:UIColor.white]
UINavigationBar.appearance().titleTextAttributes = textAttributes

स्विफ्ट 4, आईओएस 11

let textAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white]
UINavigationBar.appearance().titleTextAttributes = textAttributes

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




ios7