转:UINavigationBar--修改导航栏返回按钮的文字
原创地址:http://blog.csdn.net/smking/article/details/38874859
1. 如果NavigationController上的当前界面的Title较长, 如“黔西南移动客户端“, 这样的话, 当执行push到下一个界面后, 返回按钮自动会变为 “Back“, 注意,是“Back“而不是中文的“返回“, (注:当前语言为中文, 区域为中国)
而其它界面因为Title较短, 所以会正常常Back为上一个界面的Title信息。
这个时候可以在当前界面设置下一个界面看到的返回按钮的Title信息,代码如下:
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItemalloc] init];
temporaryBarButtonItem.title =“杰理“;
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItemalloc] initWithTitle:@"xx"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(backOmgin:)]; )
2. 在主界面, NavigationController中, 添加了ABC个界面,点每个界面都会设置自己的Title信息, 注:这里的ABC不是以TabController来独立, 而是在同一个NavigationController界面, 通过某些变量值来显隐不同的界面。
若A的Title较长, BC较短, 则只有A界面才会有上面的问题1中描述的问题, BC正常。
而如果像上面1那样解决, 则同时会影响到BC界面。 所以需要如下写
如果是A界面显示出来,
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = “杰理“;
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
如果是B,C界面显示出来, (下面这样做, 可以使导航控制器的返回按钮恢复正常)
self.navigationItem.backBarButtonItem =nil;