In order to set a background image for the navigation controller use the following code:

// get handle to nav bar

UINavigationBar *navBar = self.navigationController.navigationBar;

// get image
UIImage *image = [UIImage imageNamed:@"backgroundImageToSet.png"];

// set the bg image
[navBar setBackgroundImage:image];

in the viewWillAppear method.

- (void)viewWillAppear:(BOOL)animated