手把手教你自定义NavigationBar背景图片

本文介绍如何通过简单的步骤自定义iOS应用中NavigationController的导航条背景图片,并保持整体风格一致,同时提供代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[写个教程是想分享给新手看,因为我也是从新手过来的,大虾路过别拍转]

iOS的NavigationController用得很广,里面的导航条更是经典,所以不断出现在各种应用上,久而久之,大家也就开始审美疲劳,觉得没有新意了。

我想大家在做自己应用的时候,都会有一个统一的界面风格,很多时候会发现导航条的样式与应用的风格无法统一,但又不想舍弃NavigationController
那忽左忽右的魅力,下面我就来手把手教大家自定义导航条的背景图片

首先准备两张图片,分辨率分别是320*44(for普通屏幕),and 640*88(for高清显示)


CustomizedNavBarBg.png

 
CustomizedNavBarBg@2x.png

然后新建一个经典的Navigation-based Application项目,估计很多童鞋都找不到这个项目模版,因为我还在用XCode3.2.... 没办法,我觉得XCode4.x真的是不好用,兴许过段时间我会改变这个想法。不过没关系,我把代码贴在下面了,你们直接下载就行

接着New一个File,名字无所谓,我这里命名为:"UINavigationBar+Customized",类型为subclass of NSObject,把.h和.m文件内容替换如下:

UINavigationBar+Customized.h
?
1
2
3
4
5
#import <Foundation/Foundation.h>
 
@interface UINavigationBar (Customized)
 
@end


UINavigationBar+Customized.m
?
1
2
3
4
5
6
7
8
9
10
11
#import "UINavigationBar+Customized.h"
 
 
@implementation UINavigationBar (Customized)
 
- ( void )drawRect:(CGRect)rect {
     UIImage *image = [UIImage imageNamed:@ "CustomizedNavBarBg.png" ];
     [image drawInRect:CGRectMake(0, 0, self .frame.size.width, self .frame.size.height)];
}
 
@end


接着再设置一下NavigationBar的TintColor,设置TintColor可以使得NavigationBar上的按钮颜色与我们的背景图片风格一致



这样就ok了,对,就这么简单,点击运行,NavigationBar的背景图片就变成我们想要的样子了,赶紧试试吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值