博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

NavigationController导航栏中添加多个UIBarButtonItem

Posted on 2011-07-04 23:24  星尘的天空  阅读(337)  评论(0编辑  收藏  举报

LINK ADDRESS:http://linglong117.blog.163.com/blog/static/27714547201011191020643/

在实际的开发中,导航器是最重要的容器之一,我们经常要在导航栏中添加各种样式的按钮,添加一个按钮很简单,代码如下图:

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Setting" style:UITabBarSystemItemContacts 
                                                                 target:self action:@selector(clickSettings:)];          
self.navigationItem.rightBarButtonItem = anotherButton; 
[anotherButton release];

其中按钮的样式可以有多种,具体的可以参考:https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html

在有些项目中要在右面添加两个按钮,实现的样式如下图:

image

 

实现的代码如下图:

UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 150, 45)]; 
[tools setTintColor:[self.navigationController.navigationBar tintColor]]; 
[tools setAlpha:[self.navigationController.navigationBar alpha]]; 
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2];

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                        target:self action:@selector(clickSettings:)];

UIBarButtonItem *anotherButton1 = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UITabBarSystemItemContacts
                                                        target:self action:@selector(clickEdit:)]; 
[buttons addObject:anotherButton]; 
[anotherButton release]; 
[buttons addObject:anotherButton1]; 
[anotherButton1 release]; 
[tools setItems:buttons animated:NO]; 
[buttons release]; 
UIBarButtonItem *myBtn = [[UIBarButtonItem alloc] initWithCustomView:tools]; 
self.navigationItem.rightBarButtonItem = myBtn;

[myBtn release]; 
[tools release];