我正在尝试在单击按钮时更改UIBarButtonItem的标题。 这是我的代码...但它不起作用。
UIBarButtonItem * btnleft1 = [[UIBarButtonItem alloc] initWithTitle:@"Test2"
style:UIBarButtonItemStyleDone
target:self
action:@selector(TestingThis:)];
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:btn, btnleft, btnleft1, nil];
- (void)TestingThis:(id)sender {
if (self.navigationItem.rightBarButtonItem.title == @"Test2") {
self.navigationItem.rightBarButtonItem.title = @"Done";
}
else
{
self.navigationItem.rightBarButtonItem.title = @"Test2";
}
}
这就是我正在使用的代码。 请记住,按钮"btnleft1"位于右栏按钮项"S"中,而不是在右栏按钮项中。 如果我将其更改为右栏按钮项目.标题...它给了我一个错误。
回答较晚,但为了将来参考,您可以使用自定义按钮执行此操作:
CGRect frame = CGRectMake(10, 6, 60, 30);
UIButton *customButton = [[UIButton alloc] initWithFrame:frame];
[customButton setTitle:@"Done" forState:UIControlStateNormal];
[customButton setTitle:@"Undone" forState:UIControlStateSelected];
[customButton addTarget:self action:@selector(selectDoneClicked:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithCustomView:customButton ];
[self.navigationItem setLeftBarButtonItem:leftButton];
尝试显式设置标题。您可以使用代码执行此操作:[(UIBarButtonItem *)item setTitle:@"someText"];
下面是一个有用的链接:以编程方式更改
工具栏上 UILabel (UIBarButtonItem) 的文本希望这有帮助!