iOS 修改backBarButtonItem 中的titile 字段

需求如下:A 页面 push 到 B 页面。    B 页面中有个返回按钮 不显示A 中的title,而显示 "<返回" ,当然系统的样式还是默认的系统样式。(考虑都是navitation 导航下进行的)

方案一)

我第一想到的思路是:

在B页面中将backItem 隐藏,然后自定义一个按钮

1.  [self.navigationItem setHidesBackButton:YES]

2.    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] init];

backItem.title = @"返回";

self.navigationItem.backBarButtonItem = backItem;

[backItem addTarget:self .....]   ;//还要添加自定义事件

3.  self.navigationItem.leftBarButtonItem=backItem;

这个方案好烦啊。。。。。因此让像我那么懒的一个人,肯定是无法容忍为了实现就那么个功能而去写那么多代码。 一直在想肯定有好的方案,而且是系统提供的。

方案二)

A 中代码导航前修改title 如何,

[email protected]"返回";

[self.navigationController pushViewController:B animated:YES];

不介意那么使用,在A页面导航回来时还要重新设置title,若导航页面多了,代码就乱了,缺少美感,但是个人觉得至少比起方案一那么多代码要好,简单的情况下可以使用。    但是有了方案三的终极方案,前面两个就纯属娱乐。  呵呵

方案三)

无意中发现自己最想要的一种方案。

在A 代码中导航前写上

UIBarButtonItem *backItem = [[UIBarButtonItem alloc] init];

backItem.title = @"返回";

self.navigationItem.backBarButtonItem = backItem;

[self.navigationController pushViewController:B  animated:YES];

这才是最完美的解决方案啊。  感谢CCTV,感谢MTV。

本人自己也一直意识到了self.navigationItem.backBarButtonItem这个按钮的存在,只是讲他使用在了B 页面上,所以一直功亏一篑

时间: 2024-10-14 00:30:13

iOS 修改backBarButtonItem 中的titile 字段的相关文章

iOS 修改项目中的Created by 和 Copyright

修改 Created by xxx  系统偏好设置->用户群组->当前用户(然后左下角开锁)右键高级选项->全名: 修改 Copyright xxx  打开项目文件夹 找到.xcodeproj文件 右键显示包含内容 找到project.pbxproj文件 然后打开 修改ORGANIZATIONNAME = "xxx";

iOS开发 Xcode中的Info.plist字段含义

Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.plist文件实际上是苹果预定义schema的XML文件. 为了构建一个设备相关的健,你在健的后面要加上~iphone或者~ipad. 常用字段: 1.获取版本信息: NSDictionary*infoDic = [[NSBundle mainBundle] infoDictionary]; NSStri

java 利用反射修改对象中的list类型字段中的值。

这两天没事学习下了反射.通过反射我们可以修改对象中的字段的值. 就如下面这段代码 Grade grade=new Grade(); Field f=Grade.class.getDeclaredField("name"); f.setAccessible(true); f.set(grade, "三年级一班"); 这是so easy的,这时我想到了要是list类型的字段该怎么通过反射修改呢. 于是我就尝试了下,最终做了出来. 先准备两个类. public class

添加、修改表中的字段

ALTER TABLE dbo.Table1 ADD Days INT NOT NULL CONSTRAINT DF_Table1_Days DEFAULT (0) ;--添加列,并给定默认值 ALTER TABLE dbo.Table1 ALTER COLUMN CreateBy CHAR(10)一次只能改一个字段 ; --修改表中字段的类型 ALTER TABLE dbo.Table1 DROP CONSTRAINT DF_aaahhh_city,DF_aaahhh_city ; --删除默

修改表中字段名称

将Result表中的IsDisable字段名修改为IsEnable: sp_rename 'Result.IsDisable',IsEnable,'column'

MySql数据库在表中添加新字段,设置主键,设置外键,字段移动位置,以及修改数据库后如何进行部署和维护的总结

1,为当前已有的表添加新的字段 alter table student add studentName varchar(20) not null; 2,为当前已有的表中的字段设置为主键自增 alter table student add constraint PK_studentId primaryKey(studentId); 3,为当前已有的表中的字段设置为外键 alter table student add constraint FK_teacherId_studentInfo forei

iOS开发- backBarButtonItem 颜色/文字修改

iOS7之后. 默认的返回按钮字体颜色是蓝色的, 显示内如是父VC(上一级界面)的title 如果要做修改, 可以通过下面的办法: 1. 修改字体颜色 (1) 在plist里面, 加上View controller-based status bar appearance, 并且设置为NO (2) 在需要修改的那个界面. 加入如下代码(加在viewDIdLoad即可) self.navigationController.navigationBar.barStyle = UIStatusBarSty

批量修改数据库中某个字段里面的部分内容(mysql数据库replace的用法)

也就是说在一张表中会有很多内容,如果想要修改某个字段内容里面相同数据的话,比如说公司名称修改了,那么这个字段里面所有出现的公司名称都得修改,如果一条一条修改当然会很麻烦,数据量如果很大,修改起来很不现实,那肯定有类似编辑器里面的替换所有的功能: 更新一个字段里面的部分内容,指的是这个字段里面所有列:比如这个字段第一列里面内容是123asd,第二列是456asdf,想把as换成AS,那么执行下面语句之后会把这两列全都替换了: update 表明 set 字段名=replace(字段名,'替换前内容

shell脚本修改json中某个字段的值

shell脚本修改json中某个字段的值 思路:通过awk来找到旧数据,然后用sed来替换旧数据 源码 config.json { "name": "the_name", "id": "132869", "content_url": "https://hot.example.com/", "enable_feature1": "true", &qu