用简单的方法设置UINavigation的全局返回样式BackBarButtonItem

简介: 今天在做毕业设计时,想到要设置全局的返回样式,只要图片,不要文字,形式如下:网上有很多种方法,但是我都认为太麻烦,所以看能不能简单的设置一个全局样式开始时,我设置了如下:UINavigationBar * navigationB...

今天在做毕业设计时,想到要设置全局的返回样式,只要图片,不要文字,形式如下:


img_c209a88694cda1ddbec772fd694d595a.png

网上有很多种方法,但是我都认为太麻烦,所以看能不能简单的设置一个全局样式

开始时,我设置了如下:

UINavigationBar * navigationBar = [UINavigationBar appearance];

//返回按钮的箭头颜色

[navigationBar setTintColor:[UIColor whiteColor]];

//设置返回样式图片

UIImage *image = [UIImage imageNamed:@"navigationbar_back"];

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

navigationBar.backIndicatorImage = image;

navigationBar.backIndicatorTransitionMaskImage = image;

以上代码实现了全局的形式如下:


img_c9337f7b7b3da54bd5c473872dc5832f.png

讨论:全局下,箭头都是自定义样式了,但是文字怎么去掉?网上的方法很多,有用到时在设置,或全局的利用运行时重载方法,问题都是没有达到简单的方法,后来找到这样一个方法如下:

利用全局的UIBarButtonItem,然后巧妙的设置文字的偏移值,达到“隐藏”效果

UIBarButtonItem *buttonItem = [UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil];

UIOffset offset;

offset.horizontal = -500;

[buttonItem setBackButtonTitlePositionAdjustment:offset forBarMetrics:UIBarMetricsDefault];

不知道这个方法是不是最简单,和这个方法是不有什么“bug”,能力有限,欢迎指点!

最后效果如下:


img_246b587500766e578b2cc077ffec9308.png

~nice


- 如果有什么疑问,可以在评论区一起讨论;

- 如果有什么不正确的地方,欢迎指导!

> 注:本文首发于iHTCboy's blog,如若转载,请注明来源。

目录
相关文章
|
1月前
|
容器
微搭低代码实现下拉框动态填充值
微搭低代码实现下拉框动态填充值
|
2月前
|
JavaScript 前端开发 Java
若依框架---选中某值 其他值自动回调填充
若依框架---选中某值 其他值自动回调填充
54 0
|
4月前
|
小程序
小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)
小程序封装组件简单案例,所有小程序适用(传入参数、外抛事件、传入样式)
57 0
|
5月前
easyUI 动态参数名称和动态参数值
easyUI 动态参数名称和动态参数值
|
9月前
Echarts调用同一个组件显示在不同位置的方法
Echarts调用同一个组件显示在不同位置的方法
54 0
|
9月前
|
JavaScript
Vue中解决v-show & 三目表达式 判断后中的值改变,但视图不刷新问题。
Vue中解决v-show & 三目表达式 判断后中的值改变,但视图不刷新问题。
lodash设置对象属性路径的值,可以根据函数定制值
lodash设置对象属性路径的值,可以根据函数定制值
119 0
lodash根据函数分配值,更新对象的属性路径的值
lodash根据函数分配值,更新对象的属性路径的值
57 0
lodash设置对象属性路径的值
lodash设置对象属性路径的值
146 0
|
JavaScript 开发工具 git
Element-ui中 表格(Table)组件中 toggleRowSelection 方法设置默认多选项 无法选中解决思路
Element-ui中 表格(Table)组件中 toggleRowSelection 方法设置默认多选项 无法选中解决思路
963 0
Element-ui中 表格(Table)组件中 toggleRowSelection 方法设置默认多选项 无法选中解决思路