修改iOS返回按钮的几种方式
第一种 UIImage *backButtonImage = [[UIImage imageNamed:@"back"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 25, 0, 0)]; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault]; 提示:上面这种方法会被系统给拉伸,需要在当前控制器里面设置 第二种 UIBarButtonItem *backItem = [[UIBarButtonItem alloc] init]; backItem.title = @""; //主要是以下两个图片设置 self.navigationController.navigationBar.backIndicatorImage = [UIImage imageNamed:@"backPic"]; self.navigationController.navigationBar.backIndicatorTransitionMaskImage = [UIImage imageNamed:@"backPic"]; self.navigationItem.backBarButtonItem = backItem; 提示: 这种方法在父类方法中设置好使 -以上两种方法都是在不改变系统手势滑动返回的情况下的 第三种 //创建一个UIButton UIButton *backButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40, 40)]; //设置UIButton的图像 [backButton setImage:[UIImage imageNamed:@"left_select_img.png"] forState:UIControlStateNormal]; //给UIButton绑定一个方法,在这个方法中进行popViewControllerAnimated [backButton addTarget:self action:@selector(backItemClick) forControlEvents:UIControlEventTouchUpInside]; //然后通过系统给的自定义BarButtonItem的方法创建BarButtonItem UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithCustomView:backButton]; //覆盖返回按键 self.navigationItem.leftBarButtonItem = backItem; 提示:这种方法会失去手势滑动返回的功能 第四种 //重新创建一个barButtonItem UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithTitle:@"你想要设置的返回按钮文字" style:UIBarButtonItemStylePlain target:nil action:nil]; //设置backBarButtonItem即可 self.navigationItem.backBarButtonItem = backItem;
提示:上面这种方式只是在父类那里加,修改返回文字而已 至于返回图标还是系统提供的 手势滑动返回依然存在 作者:七里田间的守望者 链接:http://www.jianshu.com/p/0103cd689cfa 來源:简书
https://www.2cto.com/kf/201706/648999.html
https://blog.csdn.net/u011096206/article/details/50606778 这篇写的极好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix