更改rightBarButtonItems标题

时间:2012-09-12 06:27:21

标签: xcode button

如何更改 rightbarButtonItems 上按钮的标题?

我在导航栏的右侧有多个按钮,但如果只有一个rightbarButton我可以更改按钮的标题但是我不能更改多个按钮。

doneButton = [[UIBarButtonItem alloc]
initWithTitle:@"Done"
style:UIBarButtonSystemItemDone target:self action:@selector(doneTouch)];
editButton = [[UIBarButtonItem alloc]
initWithTitle:@"Edit"
style:UIBarButtonItemStylePlain
target:self action:@selector(Edit:)];
NSArray *myButtonArray = [[NSArray alloc] initWithObjects:doneButton,editButton,nil];
[self.navigationItem setRightBarButtonItems:myButtonArray];

我想更改 editButton 的标题,但我无法使用:

[self.editButtonItem setTitle:@"Done"];

3 个答案:

答案 0 :(得分:0)

您需要使用工具栏,而不是导航栏,您可以使用带有标题的客户按钮。在导航栏上,您只能左右添加两个按钮。

答案 1 :(得分:0)

编辑首先获取条形按钮参考

 NSArray *arrBarBtn = self.navigationItem.rightBarButtonItems;

if([arrBarBtn count]>0)
{
   for(UIBarButtonItem *barBtn in arrBarBtn)
   {
      //do as per your requirement.
      if(barBtn.title == @"Edit")
      {
        barBtn.title == @"Done";
      }
   }
}

改变如下:

if(self.navigationItem.rightBarButtonItem.title == @"Edit") {
//Do your stuff;
self.navigationItem.rightBarButtonItem.title = @"Done";
}
else if(self.navigationItem.rightBarButtonItem.title == @"Done"){
//Do your stuff;
self.navigationItem.rightBarButtonItem.title = @"Edit";
}

答案 2 :(得分:0)

if(self.navigationItem.rightBarButtonItem.title == @“Edit”){ ..

好的,可能是伪代码。

但是对于新手,不要使用==来比较字符串......只有Swift会允许它。

使用isEqualToString