1 前言
UIBarButtonItem为导航栏按钮,在导航栏的左侧和右侧,他们具有许多种不同的形状和形式。
2 代码讲解
ZYViewController.m
[plain]
(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor whiteColor];
self.title = @"First";
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Add" style:UIBarButtonItemStylePlain target:self
action:@selector(perFormAdd:)];//为导航栏添加右侧按钮
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self
action:@selector(perFormAdd:)];//为导航栏左侧添加系统自定义按钮
}
-(void)perFormAdd:(id)paramSender{
NSLog(@"Action method got called.");
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor whiteColor];
self.title = @"First";
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Add" style:UIBarButtonItemStylePlain target:self
action:@selector(perFormAdd:)];//为导航栏添加右侧按钮
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self
action:@selector(perFormAdd:)];//为导航栏左侧添加系统自定义按钮
}
-(void)perFormAdd:(id)paramSender{
NSLog(@"Action method got called.");
}运行结果:
当点击左边和右边的按钮的时候,控制台显示:
2013-04-23 21:40:58.982 UIBarButtonItemTest[660:c07] Action method got called.
2013-04-23 21:41:02.598 UIBarButtonItemTest[660:c07] Action method got called.
ZYUIBarButtonViewController.m:
[plain]
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
self.title = @"Second";
UISwitch *simpleSwitch = [[UISwitch alloc] init];//实例化一个选择开关
simpleSwitch.on = YES;//开关设置为开启状态
[simpleSwitch addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];//添加事件
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:simpleSwitch];//将开关控件赋给导航栏右按钮
}
-(void)switchChanged:(UISwitch *)paramSender{
if ([paramSender isOn]) {//如果开关状态为开启
NSLog(@"Switch is on.");
}else{
NSLog(@"Switch is off.");
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
self.title = @"Second";
UISwitch *simpleSwitch = [[UISwitch alloc] init];//实例化一个选择开关
simpleSwitch.on = YES;//开关设置为开启状态
[simpleSwitch addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];//添加事件
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:simpleSwitch];//将开关控件赋给导航栏右按钮
}
-(void)switchChanged:(UISwitch *)paramSender{
if ([paramSender isOn]) {//如果开关状态为开启
NSLog(@"Switch is on.");
}else{
NSLog(@"Switch is off.");
}
}
运行结果:
当拨动开关控制台显示:
2013-04-23 21:46:46.692 UIBarButtonItemTest[727:c07] Switch is off.
2013-04-23 21:46:47.493 UIBarButtonItemTest[727:c07] Switch is on.