2012-09-12 58 views
1

如何更改我的rightbarButtonItems上按钮的标题?更改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"]; 

回答

0

代替导航栏,你需要采取工具栏或者您可以使用custome按钮,标题在上面 。在导航栏上,您只能左右添加两个按钮。

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"; 
} 
+0

但我使用按钮的数组,我rightBarButtonItems,不rightBarButtonItem。 –

+0

查看编辑答案... –

0

如果(self.navigationItem.rightBarButtonItem.title == @ “编辑”){ ..

好的,可能是一个伪代码。

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

则应使用isEqualToString