1)导航控制器的创建
及导航条颜色、
背景图
片的设置:
3) 导航条添加一个U I Button
如果有多个按钮,设置某一个按钮颜色可以使用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
// self.window.rootViewController = self.viewController;
//创建导航控制器
UINavigationController *nvc=[[[UINavigationController alloc]initWithRootViewController:vc]autorelease];
self.window.rootViewController=nvc;
//修改颜色
// nvc.navigationBar.tintColor=[UIColor blueColor];
//修改NAvigationBar的背景图片
//获取背景图片
NSString *str=[[NSBundle mainBundle]pathForResource:@"navigationbar_background" ofType:@"png"];
UIImage *barImg=[[UIImage alloc]initWithContentsOfFile:str];
//设置背景图片
[nvc.navigationBar setBackgroundImage:barImg forBarMetrics:UIBarMetricsDefault];
[self.window makeKeyAndVisible];
return YES;
}
2)导航条添加一个UITextField
//如果存在导航控制器,则设置导航条
if (self.navigationController)
{
//创建一个UITextField
UITextField *txtURL=[[[UITextField alloc]initWithFrame:CGRectMake(10, 5, 200, 25)]autorelease];
//将txt改为圆角
txtURL.borderStyle=UITextBorderStyleRoundedRect;
//设置字体大小
txtURL.font=[UIFont systemFontOfSize:12];
//设置提示
txtURL.placeholder=@"请输入网址";
//设置键盘的return类型为GO
txtURL.returnKeyType=UIReturnKeyGo;
//设置代理
txtURL.delegate=self;
self.txtURL=txtURL;
//创建UIBarButtonItem,添加self.txtURL
UIBarButtonItem *txtURLBtn=[[[UIBarButtonItem alloc]initWithCustomView:self.txtURL]autorelease];
//设置导航条的左侧按钮
self.navigationItem.leftBarButtonItem=txtURLBtn;
}
3) 导航条添加一个U I Button
UIButton *cancelBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
//设置按钮的位置
cancelBtn.frame=CGRectMake(200, 5, 80, 25);
//设置按钮的title
[cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
UIBarButtonItem *rightBtn=[[[UIBarButtonItem alloc]initWithCustomView:cancelBtn]autorelease];
self.navigationItem.rightBarButtonItem=rightBtn;
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(searchView:)];
无论是设置self.navigationItem.leftBarButtonItem.title =@"返回";还是self.navigationItem.backBarButtonItem.title =@"返回";都没有效果,title文本始终不会发生变化。到网上乱搜一通后,得到了以下解决方法,相对来说比较简单
在第一级页面的viewDidLoad方法中加入以下代码:
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"返回";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[temporaryBarButtonItem release];
也就是用一个新的按钮在进行导航前将原来的返回按钮替换掉就可以了。
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
forBarMetrics:UIBarMetricsDefault];
隐藏导航条返回按钮
方法1、在上一级界面即将跳转的时候
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[temporaryBarButtonItem release];
方法2、
self.navigationItem.hidesBackButton = YES
设置导航条颜色要和背景色 左右按钮的颜色
self.navigationController.navigationBar.barTintColor = MAINCOLOR; //导航条颜色
self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; //导航条按钮颜色
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], NSForegroundColorAttributeName, nil]]; //导航条title文字颜色
如果有多个按钮,设置某一个按钮颜色可以使用
self.itemSave.tintColor = [UIColor blackColor];
更多运用 在: http://blog.csdn.net/hufengvip/article/details/17193359