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];

这些都是百度的 因为 自己遇到了这些问题 所以总结起来,亲测有效。

你可能感兴趣的:(navigationBar相关的设置)