修改navigationItem.backBarButtonItem.title的值无效的解决办法

在iphone开发中,设置navigationController中返回按钮的标题,默认为前一个视图中标题的title(请注意,必须是前一个视图控制器!!!backBarButtonItem属性是对应于本视图控制器的下一级控制器的返回按钮,区别于leftBarButtonItem)。

如果设置,在前一个视图中写下:

20


  1. UIBarButtonItem *temporaryBarButtonItem=[[UIBarButtonItem alloc] init];  
  2. temporaryBarButtonItem.title=@"Back";  
  3. self.navigationItem.backBarButtonItem = temporaryBarButtonItem;  
  4. [temporaryBarButtonItem release]; 

为何直接设置

   

backBarButtonItem的title无效呢?

查看苹果文档UIBarButtonItem的父类UIBarItem的title属性描述:

  You should set this property before adding the item to a bar. The default value is nil.而  

backBarButtonItem原本就内置,故无法修改其title,只能重置这个控件本身。

针对这种情况,解决办法如下:

在第一级页面的viewDidLoad方法中加入以下代码:  UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
  temporaryBarButtonItem.title =@"返回";
  self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
  [temporaryBarButtonItem release];  
 也就是用一个新的按钮在进行导航前将原来的返回按钮替换掉就可以了。
原文地址:https://www.cnblogs.com/weilaikeji/p/2913842.html