我正在尝试创建可以编辑的项目列表。像这样:
为此,我在视图顶部添加了一个NavigationBar,然后在XCode设计器中添加了2个Bar Button项。我将左侧按钮的标识符设置为“添加”,右侧的按钮设置为“编辑”。
单击“编辑”时,我想将文本更改为“完成”。我尝试了各种方法,例如btnEdit.Title = "Done"
,但它根本不需要。
我看过几篇推荐.SetTitle的博文,但UIButtonBarItem没有这种方法(至少在MonoTouch中)。
那么,如何更改“编辑”按钮的标题?
答案 0 :(得分:14)
我解决了。关键是我将Edit按钮的标识符设置为系统值(例如UIBarButtonSystemItemEdit),您无法更改那些文本(现在有意义)。我将标识符更改回Custom并设置.Title工作正常。
答案 1 :(得分:10)
为什么不尝试更改navigationItem.rightbarButtonItem
属性?
1。设置两个按钮,一个用于编辑,一个用于完成
UIBarButtonItem*editButton=[[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(editAction)];
UIBarButtonItem*doneButton=[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(doneAction)];
2。如有需要,editAction
最好更改rightBarButtonItem
,如:
self.navigationItem.rightBarButtonItem=doneButton;
如果您需要editButton
返回
self.navigationItem.rightBarButtonItem=editButton;
答案 2 :(得分:5)
if ([self.navigationItem.rightBarButtonItem.title isEqualToString:@"Edit"])
{
self.navigationItem.rightBarButtonItem.title= @"Done";
}
希望这会有所帮助。快乐的编码:)
答案 3 :(得分:4)
像我这样为 UIBarButtonItem * btn编辑;是.h;中的班级成员;
btnEdit = [[UIBarButtonItem alloc]initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(btnEditClicked)];
self.navigationItem.leftBarButtonItem = btnEdit;
//[btnEdit release];
现在调用的选择器将是:
-(void)btnEditClicked
{
if([btnEdit.title isEqualToString:@"Edit"])
{
[btnEdit setTitle:@"Done"];
}
else
{
[btnEdit setTitle:@"Edit"];
}
}
答案 4 :(得分:1)
控制从条形按钮拖动到文件(使用助理编辑器),创建插座(在这种情况下,它被称为" barButton"。然后,添加此:
Swift 3.0:
self.barButton.title = "New title"
答案 5 :(得分:0)
重新按下如下按钮。
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "title", style: UIBarButtonItemStyle.plain, target: self, action: #selector(actionMethod))