修改iOS返回按钮的几种方式
程序员文章站
2022-06-04 13:31:06
...
第一种
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;
- 提示:上面这种方式只是修改返回文字而已 至于返回图标还是系统提供的 手势滑动返回依然存在
推荐阅读
-
ios开发navigationController pushViewController 方式多次跳转返回到最上层返回到指定的某一层的实现方法
-
iOS中延时执行的几种方式比较及汇总
-
详解iOS 计步器的几种实现方式
-
iOS 11 使用两种方法替换(Method Swizzling)去掉导航栏返回按钮的文字
-
ios开发navigationController pushViewController 方式多次跳转返回到最上层返回到指定的某一层的实现方法
-
iOS中延时执行的几种方式比较及汇总
-
SpringMVC返回图片的几种方式(小结)
-
iOS 11 使用两种方法替换(Method Swizzling)去掉导航栏返回按钮的文字
-
关于iOS导航栏返回按钮问题的解决方法
-
SpringMVC返回图片的几种方式(小结)