मुझे चार टैब मिल गए हैं। मैं टैब आइकन रंग को डिफ़ॉल्ट नीले से लाल (या शायद किसी भी रंग) में बदलने में सक्षम था और यह पूरी तरह से ठीक काम करता है। समस्या यह है कि यह केवल तीन tabbaritems के लिए काम करता है और अंतिम एक डिफ़ॉल्ट नीला है। नीचे कोड है। मैं इसे rootviewcontrollerAppDelegate.m
में कोडिंग कर रहा हूं आप अपने एपडेगेट में नीचे दिए गए कोड को चिपकाकर इसे आजमा सकते हैं। क्या आप लोग मेरी मदद कर सकते हैं मैं बहुत अच्छा होगा!डिफ़ॉल्ट नीले रंग से टैबबार आइकन रंग कैसे बदलें?
@implementation UITabBar (ColorExtensions)
- (void)recolorItemsWithColor:(UIColor *)color shadowColor:(UIColor *)shadowColor shadowOffset:(CGSize)shadowOffset shadowBlur:(CGFloat)shadowBlur
{
CGColorRef cgColor = [color CGColor];
CGColorRef cgShadowColor = [shadowColor CGColor];
for (UITabBarItem *item in [self items])
if ([item respondsToSelector:@selector(selectedImage)] &&
[item respondsToSelector:@selector(setSelectedImage:)] &&
[item respondsToSelector:@selector(_updateView)])
{
CGRect contextRect;
contextRect.origin.x = 0.0f;
contextRect.origin.y = 0.0f;
contextRect.size = [[item selectedImage] size];
// Retrieve source image and begin image context
UIImage *itemImage = [item image];
CGSize itemImageSize = [itemImage size];
CGPoint itemImagePosition;
itemImagePosition.x = ceilf((contextRect.size.width - itemImageSize.width)/2);
itemImagePosition.y = ceilf((contextRect.size.height - itemImageSize.height)/2);
UIGraphicsBeginImageContext(contextRect.size);
CGContextRef c = UIGraphicsGetCurrentContext();
// Setup shadow
CGContextSetShadowWithColor(c, shadowOffset, shadowBlur, cgShadowColor);
// Setup transparency layer and clip to mask
CGContextBeginTransparencyLayer(c, NULL);
CGContextScaleCTM(c, 1.0, -1.0);
CGContextClipToMask(c, CGRectMake(itemImagePosition.x, -itemImagePosition.y,
itemImageSize.width, -itemImageSize.height), [itemImage CGImage]);
// Fill and end the transparency layer
CGContextSetFillColorWithColor(c, cgColor);
contextRect.size.height = -contextRect.size.height;
CGContextFillRect(c, contextRect);
CGContextEndTransparencyLayer(c);
// Set selected image and end context
[item setSelectedImage:UIGraphicsGetImageFromCurrentImageContext()];
UIGraphicsEndImageContext();
// Update the view
[item _updateView];
}
}
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
[[tabBarController tabBar] recolorItemsWithColor:[UIColor redColor] shadowColor:[UIColor blackColor] shadowOffset:CGSizeMake(0.0f, -1.0f) shadowBlur:3.0f];
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
[self addTabBarArrow];
return YES;
}
धन्यवाद आदमी ... मैं कोड ऊपर एक और problem..this बस केवल एक application..i के लिए काम किया में फंस गया है अन्य आवेदन में जिले में एक ही कोड की कोशिश की यह दीन काम ... CUD यू stuff.probably इस कोशिश .. कुछ अन्य अनुप्रयोगों में ... और मुझे जवाब दें – kingston