自定义iOS的Back按钮(backBarButtonItem)

方案1

下面两行就是自定义,替换系统的“<"图标

[self.navigationController.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"navibar_back_btn_bg_normal.png"]];

[self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"navibar_back_btn_bg_normal.png"]];

UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:nil action:nil];

self.navigationItem.backBarButtonItem = backItem;


这个方法,如果只是适配iOS 7以上,那么,是目前比较好的解决方案了。

特点:

1.实现了自定义图标,可以没有文字,

2.保存了iOS 7以上系统的pop手势返回。

根据文档:

1、只有这两个属性都设置了,才会显示自定义的图片。

2、这两个属性,只能用于iOS 7以上。

3、很多人问为什么要设置“backIndicatorTransitionMaskImage”这个属性,看官方文档就知道,当push、pop时显示的是这张image,但是疑问的是,当我设置这张照片跟“backIndicatorImage”属性的照片不一样时,系统不管是push,还是pop,还是完成时,都只会显示"backIndicatorImage"属性设置的照片。但由于文档没有更多信息,所以,这个问题我也就没有找到答案。

注意!!!!自定义视图无效!

UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 30, 44)];

view.backgroundColor = [UIColor colorWithRed:0.263 green:1.000 blue:0.311 alpha:1.000];

UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:view];

self.navigationItem.backBarButtonItem = backItem;



方案2

注意这个相对第1个自定义照片的区别:backBarButtonItem不能用View视图方法自定义,而leftBarButtonItem可以哦!

UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];  [button setImage:[UIImage imageNamed:@"navibar_back_btn_bg_normal.png"] forState:UIControlStateNormal];  [button setFrame:CGRectMake(0, 0, 30, 44)];  [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];  UIBarButtonItem * barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];  self.navigationItem.leftBarButtonItem= barButtonItem;


记得加上 

self.navigationController.interactivePopGestureRecognizer.delegate = self;

才有手势返回哦

推荐阅读更多精彩内容

  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    江湖人称_赫大侠阅读 1,506评论 2 50
  • //设置尺寸为屏幕尺寸的时候self.window = [[UIWindow alloc] initWithFra...
    LuckTime阅读 486评论 0 0
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 1,929评论 1 13
  • 太阳天秤: 意志力,创造力,权力的驱动来自对和谐、平等的渴望和获取。展现在人与人之间是关系对等;对本人而言是内在心...
    green66阅读 41评论 0 0
  • 今天发小打电话给我,她的男朋友来我们老家见她的父母。我发小说让我过去一块儿吃个饭,也见见他男朋友。 我见到了发小的...
    风乞阅读 86评论 4 0