2014-09-13 9 views
6

काफी आसानी से, मैं अपने टैब बार में अन-चयनित आइटमों का रंग बदलने में सक्षम होना चाहता हूं।बदलें UITabBarItem अन-चयनित रंग टिंट - स्विफ्ट

डिफ़ॉल्ट रंग में पढ़ने योग्य "सर्वाधिक देखी गई" ऑब्जेक्ट जौ के नीचे देखें।

UITabBarItem.appearance().setTitleTextAttributes(NSDictionary(object: UIColor.greenColor(), forKey: NSFontAttributeName), forState: UIControlState.Normal) 

enter image description here

हालांकि, इस कोड का उपयोग कर काम नहीं करता:

यहाँ कोड मैं लागू करने के लिए कोशिश की है है। क्या किसी को पता है कि इस प्रभाव को विशेष रूप से तेजी से कैसे प्राप्त किया जाए?


उत्तर

2

UITabBarItem से वर्ग डॉक्स:

डिफ़ॉल्ट रूप से, वास्तविक नहीं चुना जाता है और चयनित छवियों स्वचालित रूप से स्रोत छवियों में अल्फा मूल्यों से बनाए गए हैं। सिस्टम रंग को रोकने के लिए, UIImageRenderingModeAlwaysOriginal के साथ छवियां प्रदान करें।

सुराग यह नहीं है कि आप UIImageRenderingModeAlwaysOriginal का उपयोग करते हैं, तो महत्वपूर्ण बात यह है कि इसका उपयोग कब किया जाए।

अचयनित वस्तुओं के लिए भूरे रंग को रोकने के लिए, आपको केवल अचयनित छवि के लिए सिस्टम रंग को रोकने की आवश्यकता होगी।

var firstViewController:UIViewController = UIViewController() 
// The following statement is what you need 
var customTabBarItem:UITabBarItem = UITabBarItem(title: nil, image: UIImage(named: "YOUR_IMAGE_NAME")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), selectedImage: UIImage(named: "YOUR_IMAGE_NAME")) 
firstViewController.tabBarItem = customTabBarItem 

आप देख सकते हैं, मैं आईओएस पूछा ही नहीं चुना जाता राज्य के लिए छवि के मूल रंग (सफेद, पीले, लाल, जो कुछ भी) लागू करने के लिए, और के रूप में छवि छोड़ यहां तरीका देखें: यह करने के लिए है यह चयनित राज्य के लिए है।

इसके अलावा, आपको चयनित स्थिति (डिफ़ॉल्ट आईओएस नीले रंग के बजाय) के लिए एक अलग रंग लागू करने के लिए टैब बार के लिए एक टिंट रंग जोड़ने की आवश्यकता हो सकती है। ऊपर अपने स्क्रीनशॉट के अनुसार, आपके द्वारा चयनित राज्य के लिए सफेद रंग आवेदन कर रहे हैं:

self.tabBar.tintColor = UIColor.whiteColor() 
0

बस एक सिंटैक्स त्रुटि की तरह लगता है; (छवि को शामिल किया है, तो ऊपर नहीं है)

UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.greenColor()], forState: .Normal) 

या: यह इस तरह की कोशिश

UITabBarItem.appearance().setTintColor(UIColor.greenColor()); 
संबंधित मुद्दे