自定义UINavigationController导航栏背景

方法一:自定义一个BaseNavigationViewController : UINavigationController 在初始化方法中加入以下代码,之后就使用BaseNavigationViewController

        [self.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigation_bar_background"] forBarMetrics:UIBarMetricsDefault];
        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackTranslucent;


方法二:要改变单独控制器的导航栏可以在控制器初始化方法中加入以下代码

    // 设置导航栏背景
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigation_bar_background"] forBarMetrics:UIBarMetricsDefault];
    // 设置状态栏
    [UIApplication sharedApplication].statusBarStyle = UIBarStyleBlackOpaque;

注意:如果要适配ios7以上版本,要将图片的高度设置为大于44就ok了 比如45的高度就可以

2.设置导航栏主题

#pragma mark 设置导航栏主题
- (void)setNavigationTheme
{
    // 1.导航栏
    // 1.1.操作navBar相当操作整个应用中的所有导航栏
    UINavigationBar *navBar = [UINavigationBar appearance];
    // 1.2.设置导航栏背景
    [navBar setBackgroundImage:[UIImage imageNamed:@"navigationbar_background.png"] forBarMetrics:UIBarMetricsDefault];
    // 1.3.设置状态栏背景
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
    // 1.4.设置导航栏的文字
    [navBar setTitleTextAttributes:@{
         UITextAttributeTextColor : [UIColor darkGrayColor],
         UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetZero]
     }];
    
    // 2.导航栏上面的item
    UIBarButtonItem *barItem =[UIBarButtonItem appearance];
    // 2.1.设置背景
    [barItem setBackgroundImage:[UIImage imageNamed:@"navigationbar_button_background.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    [barItem setBackgroundImage:[UIImage imageNamed:@"navigationbar_button_background_pushed.png"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
    [barItem setBackgroundImage:[UIImage imageNamed:@"navigationbar_button_background_disable.png"] forState:UIControlStateDisabled barMetrics:UIBarMetricsDefault];
    // 2.2.设置item的文字属性
    NSDictionary *barItemTextAttr = @{
        UITextAttributeTextColor : [UIColor darkGrayColor],
        UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetZero],
        UITextAttributeFont : [UIFont systemFontOfSize:13]
    };
    [barItem setTitleTextAttributes:barItemTextAttr forState:UIControlStateNormal];
    [barItem setTitleTextAttributes:barItemTextAttr forState:UIControlStateHighlighted];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值