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

本文介绍在iOS应用中如何正确地定制导航栏返回键的标题及样式,并提供了多种实现方法,包括使用UIBarButtonItem设置自定义返回按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改返回键的标题

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切换到下一个视图时,navigationController按照以下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;

扩展2:

UITextAttributeFont - 字体

UITextAttributeTextColor - 文字颜色

UITextAttributeTextShadowColor - 文字阴影颜色

UITextAttributeTextShadowOffset - 偏移用于文本阴影

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值