Since iOS 5, you can to use the following code, to change the background in the navigationBar using an image.

Here’s the sample code,

[myNavbar setBackgroundImage:[UIImage imageNamed: @”UINavigationBarBackground.png”]                forBarMetrics:UIBarMetricsDefault];

Now, if you want to apply the background to all your navbar in your app, uses the following line in the appdelegate, instead of repeating the previous one inside each controller:

[[UINavigationBarappearance] setBackgroundImage:[UIImageimageNamed:@”UINavigationBarBackground.png”] forBarMetrics:UIBarMetricsDefault];