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

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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值