I can change the inverse of the UINavigationController by overriding the drawRect: method:
@implementation UINavigationBar (UINavigationBarCategory) - (void)drawRect:(CGRect)rect { UIImage *img = [UIImage imageNamed: @"navController.png"]; [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; self.tintColor = [UIColor blueColor]; } @end
the background is what I planned and tintColor , but when trying to set a color that does not exist in the UIColor class, it fails and shows a strange color:
@implementation UINavigationBar (UINavigationBarCategory) - (void)drawRect:(CGRect)rect { UIImage *img = [UIImage imageNamed: @"navController.png"]; [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; self.tintColor = [UIColor colorWithRed:(26/255) green:(103/255) blue:(159/255) alpha:1]; } @end
How can I make the UINavigationBar show the color I want?
Note. I only have a problem with the color of the buttons of the navigation controller, since the background itself is set to the image.
source share