2010-03-09 32 views
7

好了,我已经成功地将一个rightBarButtonItem调用自定义选择器(从一个UIViewController调用),具体如下:如何将多个按钮添加到NavigationBar?

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; 

[infoButton addTarget:self action:@selector(showInfoView:) forControlEvents:UIControlEventTouchUpInside]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton]; 

是否有可能作出“正确的栏按钮项目”实际上是几个不同按钮(从而从导航栏中删除标题文本)?

我在寻找方式来获得更多的屏幕房地产,这似乎是一个合乎逻辑的选择......虽然任何其他建议,将不胜感激(也许我应该减少标签栏的大小,我在底部使用...)

回答

0

嗯,你可以使用一个UISegmentedControl与酒吧的风格。或者你可以添加一个通用的UIView并添加你想要的任何按钮。

+1

@Matt是正确的UISegmented控制不是为此目的,你应该从Apple First阅读UIDesign参考指南。谢谢 – 2012-06-07 21:17:48

+0

公平地说,当这个答案发布时,他们的设计参考是不同的。 – 2014-10-06 14:26:06

21
UIBarButtonItem *addAcc = [[UIBarButtonItem alloc] 
           initWithTitle:@"Add"            
           style:UIBarButtonItemStylePlain 
           target:self 
           action:@selector(addNewAcc)]; 

UIBarButtonItem *delAcc = [[UIBarButtonItem alloc] 
      initWithTitle:@"Del"            
      style:UIBarButtonItemStylePlain 
      target:self 
      action:@selector(DeleteButtonAction)]; 

NSArray *arrBtns = [[NSArray alloc]initWithObjects:addAcc,delAcc, nil]; 
self.navigationItem.rightBarButtonItems = arrBtns; 
+1

这产生一个警告...不兼容的指针转换,从一个NSArray分配的UIBarButtonItem * _strong .. – 2013-06-26 15:15:22

+3

@JayprakashDubey,我假设你不小心留下的“s”关上产生的错误的最后一行“.rightBarButtonItems'的。无论如何,希望你有它的工作! – 2014-01-14 14:56:41