navigationbar
// 状态栏的设置 字体白色
[[UIAPPlication sharedApplication] setStatUSBarStyle:UIStatusBarStyleLightcontent];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
//navigationBar标题颜色白色
[self.navigationcontroller.navigationBar settitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[uicolor whiteColor],UITextAttributeTextColor,nil]];
// 系统返回的按钮 颜色可以随便设置
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
// 设置navigationBar的颜色 因颜色与实际颜色不一致 使用背景图片才能达到效果
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:UIColorFromHexAlph(0x02112c, 1)] forBarMetrics:(UIBarMetricsDefault)];
self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
//将十六进制转换为对应颜色 rgbValue 十六进制 ap 透明度
#define UIColorFromHexAlph(rgbValue,ap)\
[UIColor colorWithRed:((float) ((rgbValue & 0xFF0000) >> 16)) / 255.0f\
green:((float) ((rgbValue & 0x00FF00) >> 8)) / 255.0f\
blue:((float) (rgbValue & 0x0000FF)) / 255.0f \
alpha:ap]
// 去除返回的字 不要设置图片,使用系统的返回图片
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @" ";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
//右边按钮的位置 应利用UIBarButtonSystemItemFixedSpace格式,rightbar设为数组,进行填充。
UIButton *settingBtn = [[UIButton alloc]init];
UIBarButtonItem *rightBar = [[UIBarButtonItem alloc]initwithCustomView:settingBtn];
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
negativeSpacer.width = -20;
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:negativeSpacer,rightBar,nil];
这些都是百度的 因为 自己遇到了这些问题 所以总结起来,亲测有效。