Sobre la base de código de Jorge, esta es mi solución.
que crear una categoría simple en 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
Ahora todo lo que tiene que hacer es #import UIViewController+ImageBackButton.h
en cualquiera de sus v controladores iew o en una clase de controlador de vista base personalizado que sus otros controladores de vista heredan de e implementan el método viewWillAppear:
:
- (void)viewWillAppear:(BOOL)animated
{
[self setUpImageBackButton];
}
eso es todo. Ahora tiene un botón de retroceso de imagen en todas partes. Sin un borde ¡Disfrutar!
Gracias por su respuesta. Intenté diferentes tamaños de imagen, pero ninguno de ellos funciona. Siempre obtengo un borde alrededor de mi imagen escalada. Algo similar sucede si utilizo LeftBarButtonItem en lugar de BackBarButtonItem. ¿Conoces algún proyecto de ejemplo que incluya imágenes y código de trabajo? – Denny
No, no tengo conocimiento de ningún proyecto, pero puedo tratar de reunirlo más tarde, esta noche. – Moshe