删除UINavigationBar上的渐变

Cod*_*Guy 5 iphone uinavigationbar ios

如何删除UINavigationBar上的默认渐变?我设置了什么属性呢?

Nit*_*x88 23

您可以通过将此代码弹出到具有导航栏的类中来删除渐变并设置自己的纯色.您可以将UIColor更改为您需要的任何颜色.请注意,此代码需要在另一个实现之外,因此无论您放在哪个.m文件中,都要将它放在已在该文件中实现的类的@implmentation之前.

@implementation UINavigationBar (UINavigationBarCategory)   
- (void)drawRect:(CGRect)rect {
UIColor *color = [UIColor blueColor];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
CGContextFillRect(context, rect);
}   
@end
Run Code Online (Sandbox Code Playgroud)

  • 这已经有几个月了,但你有没有机会将我的答案标记为正确?我需要一些声誉,所以我可以在我的一个问题上给予赏金......谢谢 (9认同)
  • 如果其他人发现这一点,似乎在iOS 5.0中他们从UINavigationBar中删除了drawRect,因此对于较新的iOS版本有不同的方法 - 请参阅http://stackoverflow.com/questions/7657465/uinavigationbars-drawrect-is-没有所谓的功能于IOS-5-0 (3认同)