Используйте следующий код, чтобы поместить изображение в нужное положение.
int imageSize = 20; //REPLACE WITH YOUR IMAGE WIDTH
UIImage *barBackBtnImg = [[UIImage imageNamed:@"NavBackButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, imageSize, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barBackBtnImg
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
Вы можете использовать resizableImageWithCapInsets, чтобы указать, какие пиксели не следует растягивать.Если вы поместите туда ширину вашего изображения, оно не будет растягивать ваше изображение.
Вам не нужно помещать его в файл .m, кстати.(Вы можете использовать файл appDelegate.m), просто убедитесь, что он вызывается перед отрисовкой NavigationBar.