ios - मैं आईओएस 7 डिफ़ॉल्ट नीले रंग को प्रोग्रामेटिक रूप से कैसे प्राप्त कर सकता हूं?




colors ios7 (9)

UIButton के लिए प्रलेखन के अनुसार:

आईओएस v7.0 में, UIView के सभी उप-वर्ग बेस क्लास से टिंटकॉलर के लिए अपना व्यवहार प्राप्त करते हैं। अधिक जानकारी के लिए UIView स्तर पर tintColor की चर्चा देखें।

मान लें कि आप डिफ़ॉल्ट मान को पकड़ने से पहले tintColor को नहीं बदलते हैं, आप इसका उपयोग कर सकते हैं:

self.view.tintColor

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

हालांकि, मुझे नहीं मिला है कि आसानी से रंग को आसानी से कैसे पहुंचाया जाए। मैंने यूआईसीओलर दस्तावेज की जांच की , और कक्षा में नीले रंग के रंग के लिए कोई भी एक्सेसर प्रतीत नहीं होता है।

मेरा प्रश्न यहां है: क्या इस रंग के लिए एक साधारण एक्सेसर मौजूद है? [UIColor ?] या ऐसा कुछ? यदि नहीं, तो क्या किसी को उस रंग के लिए सटीक आरजीबी मान पता है?


आईओएस 7 डिफ़ॉल्ट नीला रंग R:0.0 G:122.0 B:255.0

UIColor *ios7BlueColor = [UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0];

इस कोड का उपयोग करके स्वचालित रूप से रंग प्राप्त करें:

static let DefaultButtonColor = UIButton(type: UIButtonType.System).titleColorForState(.Normal)!

एक व्यू कंट्रोलर से self.tintColor उपयोग करें, या UIView self.tintColor से self.tintColor उपयोग करें।


कई मामलों में आपको बस इतना चाहिए

[self tintColor] 
// or if in a ViewController
[self.view tintColor]

या तेजी से

self.tintColor
// or if in a ViewController
self.view.tintColor

डिफ़ॉल्ट सिस्टम टिंट रंग प्राप्त करने के लिए यहां एक आसान तरीका है:

+ (UIColor*)defaultSystemTintColor
{
   static UIColor* systemTintColor = nil;
   static dispatch_once_t onceToken;
   dispatch_once(&onceToken, ^{
      UIView* view = [[UIView alloc] init];
      systemTintColor = view.tintColor;
   });
   return systemTintColor;
}

यूआईसीओलर को एक श्रेणी जोड़ने से आपको इसे किसी भी समय उपलब्ध कराया जाएगा या आपके कोड में इसकी परिभाषा भी बदल जाएगी:

@interface UIColor (iOS7Colors)

+ (instancetype)iOS7blueColor;

@end

@implementation UIColor (SpecialColors)

+ (instancetype)iOS7blueColor;
{
    return [UIColor colorWithRed:0.0f green:0.22f blue:122.0/255.0 alpha:1.0f];
}

एक बार जब आप अपने कोड में श्रेणी आयात करते हैं तो आप रंग का उपयोग करके कॉल कर सकते हैं:

UIColor *myBlueColor = [UIColor iOSblueColor];

रंग सेट करते समय आप इस तरह रंग सेट कर सकते हैं

[UIColor colorWithRed:19/255.0 green:144/255.0 blue:255/255.0 alpha:1.0]

UIWindow.tintColor विधि आईओएस 8 में मेरे लिए काम नहीं कर रहा था (यह अभी भी काला था), इसलिए मुझे यह करना पड़ा:

let b = UIButton.buttonWithType(UIButtonType.System) as UIButton
var color = b.titleColorForState(.Normal)

इसने UIBarButtonItem में उचित ब्लू टिंट देखा







uicolor