Reemplace el button de retroceso de la barra de navigation sin estirar

Estoy intentando replace la image del button de retroceso de la barra de navigation pnetworkingeterminada:

UIImage *backButtonImage = [UIImage imageNamed:@"back_button"] ; backButtonImage = [backButtonImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, backButtonImage.size.width, 0, 0)]; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

Lo que obtengo es esto: introduzca la descripción de la imagen aquí

Lo que quiero es esto: introduzca la descripción de la imagen aquí

¿Cómo? La image original es 11×44 puntos.

EDITAR: después de aplicar esto,

 [UINavigationBar appearance].backIndicatorImage = backButtonImage; [UINavigationBar appearance].backIndicatorTransitionMaskImage = backButtonImage; 

Entiendo esto: introduzca la descripción de la imagen aquí

Pasé horas intentando que la flecha se moviera hacia abajo para que se alineara verticalmente con el text del título en la barra de navigation, sin éxito. He visto otros hilos con el mismo problema, pero no hay solución. ¿Por qué sería tan difícil? Parece que todos los que reemplazan la image del button de retroceso tendrían que lidiar con esto.

Prueba este código:

 UIImage *backBtnIcon = [UIImage imageNamed:@"backNavIcon.png"]; if (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)) { [UINavigationBar appearance].backIndicatorImage = backBtnIcon; [UINavigationBar appearance].backIndicatorTransitionMaskImage = backBtnIcon; } else{ UIImage *backButtonImage = [backBtnIcon resizableImageWithCapInsets:UIEdgeInsetsMake(0, backBtnIcon.size.width - 1, 0, 0)]; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -backButtonImage.size.height*2) forBarMetrics:UIBarMetricsDefault]; } 

No olvide poner las 3 imágenes 1x, @ 2x y @ 3x en sus activos de image.

Por favor verifique los UIElements en el documento de Apple para el button Atrás.

¡Gracias!

Puede crear un nuevo UIImage utilizando la base CGContextRef en su image @ "back_button", dibuje un espacio transparente de 1 punto de ancho a la derecha, para que pueda llamar a resizableImageWithCapInsets:UIEdgeInsetsMake(0, backButtonImage.size.width - 1, 0, 0)