如何添加导航栏“加号”按钮,并在代码中使用它

时间:2014-11-16 20:30:28

标签: ios objective-c uinavigationcontroller uinavigationbar rightbarbuttonitem

我在导航控制器中有一个表视图,顶部有一个导航栏。我想在此导航栏的右侧添加一个加号按钮,按下按钮以在按下时发布NSLog。但是,所有建议以编程方式添加导航栏的在线资源都已失败。我怎么能这样做?

所有帮助表示赞赏。

编辑:这是我在viewDidLoad方法中使用的一些代码。所以你知道,我只是添加了这段代码,并没有做任何其他事情:

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Save" style:UIBarButtonItemStyleDone target:self action:@selector(doSave:)];
self.navigationItem.rightBarButtonItem = anotherButton;
[anotherButton release];  

编辑2:当我创建项目时,在Interface Builder中,我创建了一个导航控制器,将我的FirstViewController左侧的箭头移动到导航控制器,然后删除了我的FirstViewController。这会阻止代码工作吗?

2 个答案:

答案 0 :(得分:0)

在ViewController的viewDidLoad中:

UIBarButtonItem *plusButton = [[UIBarButtonItem alloc]initWithTitle:@"+" style:UIBarButtonItemStylePlain target:self action:@selector(plusButtonHit)];
self.navigationItem.rightBarButtonItem = plusButton;

-(void)plusButtonHit {
   // do something
   NSLog(@"Log something");
}

如果您想使用图片,只需使用图片而不是文字创建条形按钮。

答案 1 :(得分:0)

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.  
  UIBarButtonItem *plusButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(plusButtonHit)];
  self.navigationItem.rightBarButtonItem = plusButton;
}

- (void)plusButtonHit {
       // do something
       NSLog(@"Log something");
}