OC 设置导航栏的全局返回按钮,去掉文字

本文介绍了如何在iOS应用中优化导航栏返回按钮的显示效果,通过调整返回按钮标题的位置来隐藏文字,并解决了由此引发的应用在后台显示透明的问题。

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

前天为满足UI设计需求,所有导航栏左上角的返回按钮只显示一个三角返回图标,去掉文。

具体实现是,在基类的导航控制器中做如下设置:

 

#import "CLBaseNavController.h"

@interface CLBaseNavController ()

@end

@implementation CLBaseNavController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.navigationBar.tintColor = [UIColor blackColor];
    self.navigationBar.barTintColor = [UIColor whiteColor];
    self.navigationBar.alpha = 1.0f;
    [self.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor blackColor]}];
    self.navigationBar.translucent = NO;
    
    //将返回按钮的文字position设置不在屏幕上显示  NSIntegerMin
    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
    [UINavigationBar appearance].backIndicatorTransitionMaskImage = [UIImage imageNamed:@"nav_lift"];
    [UINavigationBar appearance].backIndicatorImage = [UIImage imageNamed:@"nav_lift"];
    
}

其中将返回按钮的文字position设置不在屏幕上显示设置文字便宜量为-60,效果挺好;但是之前的设置是下面这句:

 

#define NSIntegerMax    LONG_MAX
#define NSIntegerMin    LONG_MIN

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault];

这样虽然出现了想要的效果,但是引发了另一个不知道算不算bug的bug:

在点击进入导航控器进入第一层时,双击Home键,app在后台显示的是透明的,当偏移量从宏定义的值换成一个固定的数字-60时,透明现象就消失了。

效果达到了,但是现在仍不明白这个偏移值跟双击Home后台app的显示有什么关系......

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值