Я пересылаю свое решение из https://stackoverflow.com/a/16831482/171933:
Я создаю простую категорию для UIViewController
:
UIViewController + ImageBackButton.h
#import <UIKit/UIKit.h>
@interface UIViewController (ImageBackButton)
- (void)setUpImageBackButton;
@end
UIViewController + ImageBackButton.m
#import "UIViewController+ImageBackButton.h"
@implementation UIViewController (ImageBackButton)
- (void)setUpImageBackButton
{
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 34, 26)];
[backButton setBackgroundImage:[UIImage imageNamed:@"back_arrow.png"] forState:UIControlStateNormal];
UIBarButtonItem *barBackButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
[backButton addTarget:self action:@selector(popCurrentViewController) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = barBackButtonItem;
self.navigationItem.hidesBackButton = YES;
}
- (void)popCurrentViewController
{
[self.navigationController popViewControllerAnimated:YES];
}
@end
Теперь все, что вам нужно сделать, это #import UIViewController+ImageBackButton.h
во всех ваших контроллерах представления или в пользовательском базовом классе контроллера представлениячто другие ваши контроллеры представления наследуют и реализуют метод viewWillAppear:
:
- (void)viewWillAppear:(BOOL)animated
{
[self setUpImageBackButton];
}
Вот и все.Теперь у вас есть кнопка возврата изображения везде.Без границы.Наслаждайтесь!