iOS11解决导航栏影藏返回文字的方法

本文介绍在iOS11中如何仅保留返回按钮图标而去除文字显示的方法。提供了三种解决方案:通过设置标题位置偏移隐藏文字、设置返回按钮背景图片使文字消失,以及推荐的调整标题位置方式。

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

iOS11适配 : iOS适配工作

需求

如果要只保留返回按钮的文字,不需要"返回"文字


iOS11之前

在全局函数执行的地方使用一下代码:

let barButton = UIBarButtonItme.appearance
barButton.setBackButtonTitlePositionAdjustment( UIOffset(horizontal:0 , vertical: -70), for: .default)  //通过设置返回文字的垂直偏移隐藏

iOS11之后

1.每次push之前都设置

我的解决办法为,在push的父页面将title设为空

例如:

        self.title = ""
        self.navigationController?.pushViewController(workDetail, animated: true)
这样的话就需要在viewWillAppear方法中每次都设置控制器的title,不然就会导致返回这个页面的时候title不见的。

综合的解决办法,手动添加一个只含返回图标的button,然后在push到目的页面的时候添加。

缺点:不好全局控制,太麻烦了。

2.设置返回按钮的背景图片

 let barButton = UIBarButtonItem.appearance()
        barButton.setBackButtonBackgroundImage(UIImage(named:"tab_backButton_background"), for: .normal, barMetrics: .default) //tab_backButton_background 图片为导航栏背景色图片

注意:使用这种方式的时候需要保证所有导航栏的背景色是一致的,否则就需要单独设置。

设置了返回按钮的背景图片就会使文字消失掉,具体原因未知。

3.还是使用设置标题位置的方式(推荐)

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-100, 0), for:UIBarMetrics.default)
 //iOS 11及之前版本通用
感谢 LLLKKK319的提醒。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值