欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

iOS 修改navigationController返回按钮颜色和文字

发布时间:2025/4/14 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 iOS 修改navigationController返回按钮颜色和文字 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

引言

在iOS开发过程中,NavigetionController(导航栏)算是比较常用的一种控件,而系统自带的样式有时候往往不是我们所需要的,这时候就要求我们必须自定义或修改一下。

 

修改返回键的标题

1、错误使用:以下三种方式都不能修改返回键的title(方式三可以修改NavigetionItem的leftBarButtonItem,但不能修改backBarButtonItem的样式)

//最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];// 方式一self.navigationItem.leftBarButtonItem.title = @"返回";// 方式二self.navigationItem.backBarButtonItem.title = @"返回";// 方式三UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(0, 0, 80, 49);[button setTitle:@"返回" forState:UIControlStateNormal];[button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];self.navigationItem.backBarButtonItem = backButtonItem;---------------------

 


2、正确使用:

// 细节: 本界面上设置, 下个界面上显示

// 细节: 本界面上设置, 下个界面上显示// 方式一self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];// 方式二UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] init];backButtonItem.title = @"返回";self.navigationItem.backBarButtonItem = backButtonItem;---------------------

 

修改返回键的颜色


由图可以看出,想要修改返回键的颜色可以:

self.navigationController.navigationBar.tintColor = [UIColor redColor];

 


最后说一下使用pushViewController切换到下一个视图时,navigation controller按照以下3条顺序更改导航栏的左侧按钮(本段摘自网络):

1、如果B视图有一个自定义的左侧按钮(leftBarButtonItem),则会显示这个自定义按钮;
2、如果B没有自定义按钮,但是A视图的backBarButtonItem属性有自定义项,则显示这个自定义项;
3、如果前2条都没有,则默认显示一个后退按钮,后退按钮的标题是A视图的标题;


扩展1:

// 设置导航条的色调 理解为"混合色" self.navigationController.navigationBar.barTintColor = [UIColor blackColor]; // 导航栏默认是半透明状态 self.navigationController.navigationBar.backgroundColor = [UIColor blueColor]; // 左边返回按键颜色 // 导航栏标题颜色 [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}]; self.navigationController.navigationBar.translucent = NO;

 

转载于:https://www.cnblogs.com/gaozhang12345/p/10818481.html

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的iOS 修改navigationController返回按钮颜色和文字的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。