为什么我不能改变UIBarButtonItem的标题?

时间:2013-08-21 14:53:37

标签: iphone ios objective-c uibarbuttonitem

我想更改UIBarButtonItem的{​​{1}}。

但是这段代码无效。

title

我不知道如何解决这个问题。

请告诉我解决此问题的方法。

4 个答案:

答案 0 :(得分:5)

像这样初始化你的UIBarButtonItem:

_smay = [[UIBarButtonItem alloc] initWithTitle:@"Your Title" 
             style:UIBarButtonItemStyleBordered 
             target:self action:@selector(yourMethod)];

self.navigationItem.rightBarButtonItem = _smay;

然后,如果您想在代码中的其他位置更改标题:

[_smay setTitle:@"Your Other Title"];

IOS 8及以上

不推荐使用UIBarButtonItemStyleBordered,因此请使用以下内容。

[[UIBarButtonItem alloc] initWithTitle:@"Your Title" 
                 style:UIBarButtonItemStylePlain
                 target:self action:@selector(yourMethod)];

答案 1 :(得分:0)

如果您想以编程方式更改导航栏的标题,则意味着

UIBarButtonItem *aDoneItem = [UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleBordered
   target:self
   action:@selector(toggleEdit:)];

navigationController.rightBarButtonItem = aDoneItem;

aDoneItem.title = @"Something";

答案 2 :(得分:-1)

您必须确保按钮已初始化。如果它是.xib文件的一部分,请确保将其与已与其关联的@property的{​​{1}}相关联。否则,您需要以编程方式初始化它。此外,您应该使用方法IBOutlet

答案 3 :(得分:-3)

item.title = @"new title"应该有用。