转: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;

posted @ 2014-11-22 19:11  lYcHeeM  阅读(1896)  评论(0编辑  收藏  举报