IOS 改变导航栏返回按钮的标题

 

IOS 改变导航栏返回按钮的标题

 

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

   新写的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.       
  6.     self.navigationItem.leftBarButtonItem = backButton;  
  7.     [backButton release];  
  8.   
  9. - (void)backToPrevious  
  10. {  
  11.     [self.navigationController popViewControllerAnimated:YES];  
  12. }  

添加图片的相关代码如下

[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

时间: 2024-11-01 04:00:46

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

关于iOS导航栏返回按钮问题的解决方法_IOS

最近遇到一个关于导航栏返回按钮的问题,因为之前项目里面都是用的系统默认的返回按钮样式所以没有想过要去更改,后来有需要将返回按钮箭头旁边的文字去掉,同时将该返回按钮的点击事件重新定义.一开始尝试自定义按钮然后设置为leftBarButtonItem,但是这样图片可能跟系统自带的不一样,还有就是返回按钮的位置跟系统自带的不一样.后来找了一些资料,发现将文字去掉比较简单,一般做法是控制器中添加如下代码,然后他的下一级控制就有一个只有箭头没有文字返回按钮: 复制代码 代码如下: UIBarButtonI

iOS如何固定导航栏返回按钮大小

问题描述 iOS如何固定导航栏返回按钮大小 原因:系统返回按钮会随着push之前的controller.title的长度而变长,从而影响当前controller的标题位置 前提:必须使用系统导航栏自带的返回按钮,不要重新self.naigationBarItem.leftItem = XXX 解决方案 可以固定push之前的controller.title的字数,假如你的title需要很长,可以自定义一个label直接加到navigationItem.titleView上, 这样不会改变push

ios开发Swift修改导航栏“返回”按钮文字,图标

项目中常常会使用 UINavigationController 对各个页面进行导航,导航栏左侧的返回按钮默认标题文字是上级页面的title. 但如果上级页面的标题很长,那么这个返回按钮字很多就会很丑:    开发Swift修改导航栏"返回"按钮文字,图标-swift 导航栏返回按钮">      当文字极其长时返回文字就会变成"back":         一,要修改"返回按钮"的文字,有如下两种方式: 1,在父页面中设置 将na

移动应用设计:谈导航栏返回按钮的替代方案

呼,又要夜间上新了.其实自己偶尔还会进去关于Be For Web里面看看将近两年前写的博客开篇语.当时的动力现在仍在,当时爱的那个世界现在仍在爱,并且越来越让我觉得自豪;这让我开心了些.周六晚上有在喝冰啤酒的兄弟姐妹吗,有的话我们虚拟碰个杯吧先,周末愉快=) 前面连续做了13篇iOS7预发布版界面设计规范,这周开始重新回到正常节奏,上一些小文.今次的小话题是关于返回按钮的;其实还少谈了一种越来越普及的替代方案,也就是将返回按钮做到底部标签栏或是工具栏最左侧;当然,准确的说,这种情况下容器本身也不

IOS中导航的返回按钮定制

- (void)addBackItemWithAction:(SEL)action { UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 44)]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(0, 0, 64, 44); [button setImage:[UIImage im

求解,iOS中如何实现点击按钮切换按钮背景图,并且通过导航栏返回并再次进入后按钮还是那个背景图

问题描述 求解,iOS中如何实现点击按钮切换按钮背景图,并且通过导航栏返回并再次进入后按钮还是那个背景图 就是想在一个页面做一个收藏的按钮,如果用户点击按钮按钮的背景图就变成已收藏的背景图,并且保存这一状态,在下一次进入页面的时候还是已收藏的状态,求高手指点 解决方案 你这个没有数据交互么? 正常应该是用户点击收藏,然后后台提交,数据库响应成功后在回调里改变一下按钮状态和相应数据. 解决方案二: 你这个背景图片切换的数量多不?如果就2张图片来回切换,可以写个单例,记录下来你的点击状态,根据状态来

一步一步SharePoint 2007之七:改变导航栏中项目的标题和内容

摘要 上一篇文章谈到,想想都很郁闷,咱们的女神怎么越看越像个洋妞啊,对啊,细看下来,她就是一个 洋妞嘛!网上总谈到企业要本地化,软件要本地化,敢情女神也要本地化啊?! 哪一天,能不能让咱们也搞点什么名堂出来,让比尔那小子也尝尝本地化的代价呢? 本篇文章将介绍如何改变导航栏中项目的标题和内容. 正文 在上一篇文章中,我们发现导航栏成中英结合区了,把我们的女神搞的半人半鬼的,不行,一定要解 决这个问题! 本文将只讲解如何改变导航栏中项目的标题和内容,至于改变网站的结构,朋友们可以自己摸索一下 ,这里

iOS中常用设置返回按钮_IOS

//添加返回按钮 -(void)backBtn{ UIButton *backBtn=[[UIButton alloc]initWithFrame:CGRectMake(0, 10, 60, 20)]; [backBtn setTitle:@"返回" forState:UIControlStateNormal]; backBtn.titleLabel.font=[UIFont systemFontOfSize:12]; backBtn.imageEdgeInsets=UIEdgeIns

iOS 聊天 导航栏title

问题描述 设置导航栏的title,为什么不显示呢? 解决方案 您怎么设置的?不显示一定是您设置有问题,或者字体颜色和背景重叠了.