1

如何更改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"];
4

3 回答 3

0

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

于 2012-09-12T06:32:00.523 回答
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";
}
于 2012-09-12T06:34:19.883 回答
0

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

好吧,可能是伪代码。

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

使用 isEqualToString

于 2014-08-31T08:03:19.703 回答