iphone--自定义UINavgationBar

下面是定义UINavgationBar的static函数

+ (UINavigationBar *)createNavigationBarWithBackgroundImage:(UIImage *)backgroundImage title:(NSString *)title { 
 UINavigationBar *customNavigationBar = [[[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease];
 UIImageView *navigationBarBackgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
 [customNavigationBar addSubview:navigationBarBackgroundImageView]; 
 UINavigationItem *navigationTitle = [[UINavigationItem alloc] initWithTitle:title]; [customNavigationBar pushNavigationItem:navigationTitle animated:NO];
 [navigationTitle release];
 [navigationBarBackgroundImageView release]; 
 return customNavigationBar; 
}
下面是在需要生成UINavgationBar 的地方添加的代码     *ViewController.m:
self.navigationController.navigationBar.hidden = YES;
 UIImage *navigationBarBackgroundImage =[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"topbar-bg" ofType:@"png"]];
 UINavigationBar *customNavigationBar = [YOUR_Util_Class createNavigationBarWithBackgroundImage:navigationBarBackgroundImage title:nil]; 
[self.view addSubview:customNavigationBar]; 
 UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 75.0, 30.0)]; 
 if (_backButtonImage) 
 [backButton setImage:_backButtonImage forState:UIControlStateNormal]; 
 }else { 
 [backButton setImage:[UIImage imageNamed:@"btnback.png"] forState:UIControlStateNormal];
 
 [backButton addTarget:self action:@selector(backButtonCliked:) forControlEvents:UIControlEventTouchUpInside]; 
 UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 
 customNavigationBar.topItem.leftBarButtonItem = backBarButton; 
 [backButton release]; 
 [backBarButton release];
 UIButton *addButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 43, 30)];
 UIBarButtonItem *addBarButton = [[UIBarButtonItem alloc] initWithCustomView:addButton];
 if (_isFromFavorites)
 
 [addButton setImage:[UIImage imageNamed:@"btn-delete-0.png"] forState:UIControlStateNormal];
 [addButton addTarget:self action:@selector(deleteButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
 }else {
 [addButton setImage:[UIImage imageNamed:@"btn_add.png"] forState:UIControlStateNormal];
 [addButton addTarget:self action:@selector(addButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
 
 customNavigationBar.topItem.rightBarButtonItem = addBarButton;
 [addButton release];
 [addBarButton release];
 
 效果图:
iphone--自定义UINavgationBar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值