我可以通过覆盖drawRect来更改UINavigationController
的背景图像:实验方法:
@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
背景和tintColor
都是我想要的,但是当尝试设置UIColor
类中不存在的颜色时,它失败了,并显示奇怪的颜色:
@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
如何强制UINavigationBar
显示所需的颜色?
**注:**我只是在导航控制器按钮颜色方面有问题,因为背景本身设置为图像。
3条答案
按热度按时间daolsyd01#
您需要执行以下操作:
否则,你在做整数运算,你可能会得到所有的0。使用浮点运算,你会得到你想要的值。
0lvr5msh2#
这对我很有效
qf9go6mv3#
您也可以用途:
浏览控制器.视图.背景颜色= .yourColor