मेरी समझ से, का एकमात्र तरीका शीर्ष सीमा के रंग को पृष्ठभूमि छवि (320x49, शीर्ष पर पिक्सेल लाइन के साथ) सेट करना है। ऐसा लगता है कि यह एकमात्र तरीका है (अगर मैं गलत हूं तो कृपया मुझे सही करें)।प्रोग्रामिंग के रूप में UIImage बनाकर मैं UITabBar शीर्ष सीमा का रंग कैसे बदल सकता हूं?
क्या कोई छवि फ़ाइल का उपयोग कर के बिना करने का कोई तरीका है? उदाहरण के लिए, कोई मुझे कोड से एक UIImage बनाने के द्वारा NavigationBar निचली सीमा को बदलने में मदद की:
UINavigationBar.appearance().shadowImage = UIImage.colorForNavBar(UIColor.redColor())
extension UIImage {
class func colorForNavBar(color: UIColor) -> UIImage {
let rect = CGRectMake(0.0, 0.0, 1.0, 1.0)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, color.CGColor)
CGContextFillRect(context, rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
यह समाधान वास्तव में अच्छी तरह से काम करता है; यह मेरी निचली सीमा का रंग बदलता है।
मैंने इसे टैबबार पर लागू करने का प्रयास किया, लेकिन कुछ भी नहीं बदला।
UITabBar.appearance().shadowImage = UIImage.colorForNavBar(.redColor())
की viewDidLoad में उपरोक्त कोड के साथ प्रयोग किया ' छाया छवि 'और' पृष्ठभूमि छवि '? यदि आप उनमें से केवल एक सेट करते हैं, तो यह काम नहीं करेगा। – Sulthan
@TIMEX 'UIImage' का उपयोग करने के वैकल्पिक समाधान के लिए मेरा उत्तर देखें। मेरा समाधान बार पारदर्शिता को बरकरार रखता है, इसलिए धुंध प्रभाव सक्रिय रहेगा। –