下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方。

新写的App中需要使用UINavigationController对各个页面进行导航,但由于第一级页面的title较长,在进入第二级页面后返回按钮leftButtonItem的title就会变得很长,对NavigationBar空间占用很大,而且不美观,于是使用代码对leftButtonItem的title文本进行修改,无论是设置self.navigationItem.leftBarButtonItem.title = @"返回";还是self.navigationItem.backBarButtonItem.title
= @"返回";都没有效果,title文本始终不会发生变化。到网上乱搜一通后,得到了以下解决方法,相对来说比较简单,特记录如下:

在第一级页面的viewDidLoad方法中加入以下代码:

[plain] view
plain
copy

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

也就是用一个新的按钮在进行导航前将原来的返回按钮替换掉就可以了。

可以如下设置 但是这样的缺点是那个按键会变成方形 可以添加图片来进行修改。

[plain] view
plain
copy

  1. UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
  2. style:UIBarButtonItemStyleBordered
  3. target:self
  4. action:@selector(backToPrevious)];
  5. self.navigationItem.leftBarButtonItem = backButton;
  6. [backButton release];
  7. - (void)backToPrevious
  8. {
  9. [self.navigationController popViewControllerAnimated:YES];
  10. }

添加图片的相关代码如下

[plain] view
plain
copy

  1. UIButton *leftButton = [[UIButtonalloc] initWithFrame:CGRectMake(0, 0, 60, 40)];
  2. [leftButton setTitle:@"返回"forState:UIControlStateNormal];
  3. [leftButton setImage:[UIImageimageNamed:@"UINavigationBar.png"] forState:UIControlStateNormal];
  4. [leftButton setImage:[UIImageimageNamed:@"UINavigationBar.png"] forState:UIControlStateHighlighted];
  5. [leftButton addTarget:selfaction:@selector(leftAction:) forControlEvents:UIControlEventTouchUpInside];
  6. UIBarButtonItem *leftItem = [[UIBarButtonItemalloc] initWithCustomView:leftButton];
  7. [leftButton release];
  8. self.navigationItem.leftBarButtonItem = leftItem;
  9. [leftItem release];

原帖地址:http://hi.baidu.com/givingmore/item/134c50e3ef6fcea52e140b71

IOS 改变导航栏返回按钮的标题的更多相关文章

  1. 转载 iOS拦截导航栏返回按钮事件的正确方式

    原文链接:http://www.jianshu.com/p/25fd027916fa 当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮 ...

  2. ios 修改导航栏返回按钮的图片

    修改导航栏返回按钮的图片 方法1: [UINavigationBar appearance].backIndicatorTransitionMaskImage = [UIImage imageName ...

  3. iOS拦截导航栏返回按钮事件的正确方式

    当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然 ...

  4. iOS拦截导航栏返回按钮事件的正确方式(二)

    当我们使用了系统的导航栏时,默认点击返回按钮是 pop 回上一个界面.但是在有时候,我们需要在点击导航栏的返回按钮时不一定要 pop 回上一界面,比如一个视频播放界面,进入横屏后,默认点击返回按钮仍然 ...

  5. iOS项目导航栏返回按钮

    最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是 [[UIBarButtonItem appearance] setBackButt ...

  6. 拦截iOS系统导航栏返回按钮事件-三种方法

    方法一:在dealloc里面书写监听事件,因为只有pop才会调用dealloc,push不会掉用 - (void)dealloc {YLLog(@"123"); } 方法二:在- ...

  7. iOS 设置导航栏 返回按钮文字隐藏

    //隐藏返回按钮文字 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) f ...

  8. Swift - 修改导航栏“返回”按钮文字,图标

    Swift - 修改导航栏“返回”按钮文字,图标 2015-11-27 09:13发布:hangge浏览:4037   项目中常常会使用 UINavigationController 对各个页面进行导 ...

  9. ios 修改导航条返回按钮

    ios 修改导航条返回按钮 方式一:使用系统的:可以更改系统的文字:以及通过设置导航条的颜色来达到预期的效果 UIBarButtonItem *backBtns = [[UIBarButtonItem ...

随机推荐

  1. discuz之同步登入

    前言   首先感谢dozer学长吧UCenter翻译成C# 博客地址----------->http://www.dozer.cc/   其次感谢群友快乐々止境同学的热心指导,虽然萍水相逢但让我 ...

  2. c++ 遍历ini

    inline void CDLG_SET1::EnumIniFile(LPCTSTR pFilePath, CString strKey) { TCHAR strAppNameTemp[];//所有A ...

  3. Game shader or System shader is busy ::VS CSG

    this error means The GPU is freezen Phyre::PSemaphoreOrbis::wait()//callstack something illegal in c ...

  4. php中==与===区别

    ==是不判断二者是否是同一数据类型,而===是更为严格的比较,它不但要求二者值相等,而且还要求它们的数据类型也相同

  5. Data manipulation primitives in R and Python

    Data manipulation primitives in R and Python Both R and Python are incredibly good tools to manipula ...

  6. JS通过ajax动态读取xml文件内容

    http://www.sharejs.com/codes/javascript/8178 HTML文件代码如下 <!DOCTYPE html> <html> <head& ...

  7. Notepad++ 几款实用插件简介,让你的 Notepad++ 如虎添翼

    Notepad++ 是一款非常优秀的文本编辑器,非常适合编辑源代码.Notepad++ 安装时已经附带有 Compare 等优秀插件,通过其 Plugin Manager 可以下载更多实用插件. 一. ...

  8. eclipse 自动 注释

    在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Co ...

  9. javascript实现数据结构与算法系列:循环链表与双向链表

    循环链表(circular linked list) 是另一种形式的链式存储结构.它的特点是表中最后一个结点的指针域指向头结点,整个表形成一个环. 循环链表的操作和线性链表基本一致,仅有细微差别. w ...

  10. Extjs中自定义事件

    //Ext中所谓的响应事件,响应的主要是组件中已经定义的事件(通过看api各组件的events可以找到)         //主要作用就是利用on调用各组件的事件处理函数,然后在函数中作用户想要的操作 ...