不可能更改UIBarButtonItem标题?

问题描述 投票:1回答:2

愚蠢的事情,我试图改变UIBarButtonItem上的标题,如果满足for循环中的某个条件。但是我遇到了麻烦。

我试过了

self.barButtonItem.title=@"NewTitle"

[self.barButtonItem setTitle:@"New Title"];

我甚至在视图上做了一个setNeedsDisplay,没有任何运气。顺便说一句,是的,我从self.navigationBar.items获取旧的按钮数组,删除旧按钮,并设置新按钮。

如果我改变屏幕方向(翻转ipad),按钮标题确实会改变。但除此之外,它保持不变。

我错过了什么吗?

ios xcode ipad title uibarbuttonitem
2个回答
1
投票

问题

如果你浏览文档,苹果说:

“在将项目添加到栏之前,您应该设置此属性。”

是因为,

cancel_btn.title = "something"  // It does not work !

因为你已经将项目设置为栏。

//
let theTitle = "something"

//
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: theTitle, style: 
UIBarButtonItemStyle.plain, target: self, action: 
#selector(cancelAction))

现在你在将项目添加到栏之前设置标题。


0
投票

我为此使用了possibleTitlesUIBarButtonItem属性。

创建按钮时尝试此操作:

self.barButtonItem = [[UIBarButtonItem alloc] init...];
self.barButtonItem.possibleTitles = [NSSet setWithObjects:@"Title 1", @"Title 2", nil];

然后,要更改标题,请执行以下操作:

self.barButtonItem.title = @"Title X"; // must be one of the possibleTitles
© www.soinside.com 2019 - 2024. All rights reserved.