iOS中修改导航栏的各种样式

来源:互联网 发布:阿里云ecs数据库安装 编辑:程序博客网 时间:2024/05/29 16:54

1. 设置navigationBar 的透明度

self.navigationController.navigationBar.translucent = YES;

2. 设置导航默认标题的颜色及字体大小

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: YK1f1f1f, NSFontAttributeName: [UIFont fontWithName:@"ArialMT" size:18]};                                                     

3.设置item颜色

[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];

4. 设置导航栏的背景颜色

[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]]; 

5. 导航栏背景

[self.navigationController.navigationBar setBackgroundImage:[UIImageimageNamed:@"navigationImage.png"] forBarMetrics:UIBarMetricsDefault];

6. 去掉导航栏下面默认线条

{    UIImageView *navBarHairlineImageView;  // 声明UIImageView变量,存储底部横线}
- (void)viewDidLoad{    [super viewDidLoad];    navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];}
- (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];    navBarHairlineImageView.hidden = YES;}- (void)viewWillDisappear:(BOOL)animated {    [super viewWillDisappear:animated];    navBarHairlineImageView.hidden = NO;}
// 实现找出底部横线的函数 1. (UIImageView *)findHairlineImageViewUnder:(UIView *)view {    if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {        return (UIImageView *)view;    }    for (UIView *subview in view.subviews) {        UIImageView *imageView = [self findHairlineImageViewUnder:subview];        if (imageView) {            return imageView;        }    }    return nil;}

7. //设置状态栏(信号区)白色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
1 0