今天写代码的时候,navigation bar的背景设计只给了我一个颜色,没有图片!以前都是给我图片的啊
然后充充满满的去百度了下
还好有百度大神在
给自己一个总结:
[[UINavigationBarappearance] setBackgroundImage:[[UIImagealloc] init]forBarMetrics:UIBarMetricsDefault];
[[UINavigationBarappearance] setShadowImage:[[UIImagealloc] init]];
这样写可以去除navigation bar下的黑线
背景可以这样设置
self.navigationController.navigationBar.tintColor =UIColorFromRGB(0xe82f37);
勤能补拙吧,以后多记录自己遇到的问题,有什么好的想法可以给我留言,希望大家共同进步吧
不行,上面的方法在苹果4中运行出现了问题,navigationbar 怎么无缘无故掉到底下了,有折腾了很久,
以下方法,亲测可用:
self.navigationController.navigationBar.tintColor = UIColorFromRGB(0xe82f37);
UINavigationBar *navigationBar = self.navigationController.navigationBar;
[navigationBar setBackgroundImage:[self createImageWithColor:UIColorFromRGB(0xe82f37)] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[navigationBar setShadowImage:[UIImage new]];
-(UIImage*) createImageWithColor:(UIColor*) color
{
CGRect rect=CGRectMake(0.0f, 0.0f, ScreenWidth, 64.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]