更改UIBarButtonItem标题时,转换是生涩/闪烁

12 uibarbuttonitem ios

我有一个UIViewController子类.我给视图控制器一个rightBarButtonItem,viewDidLoad如下所示:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Difficulty"
      style:UIBarButtonItemStylePlain
      target:nil
      action:nil];
Run Code Online (Sandbox Code Playgroud)

当用户按下视图中的另一个按钮时,其标题/文本UIBarButtonItem更改为:

self.navigationItem.rightBarButtonItem.title = @"Mellansvår";
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当标题改变时,它看起来不太好.文字跳了一下.

UILabel之前在运行时更改了文本,当我更改文本时看起来不像这样,但我不知道如何添加UILabelnavigationItem.我无法在Interface Builder中执行此操作,因为导航栏来自a UINavigationController.

有没有办法更顺利地改变标题?

小智 3

您可以使用标题再次设置按钮,然后为其设置动画,而不是再次设置标题:

(void)setRightBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)