I had a slightly different problem which I share for fellow lost souls searching for the light o_O
My background image refused to show in the Navigation Bar after I showed a UIAlertView prior. I tried creating a separate View Controller and moved my UIAlertView into that but the same thing happened : no background image! The interesting thing was if I set the initial controller to the controller past the UIAlertView controller then the background image appeared as expected...
Thanks to Paras Joshi's answer below, instead of referring to
[UINavigationBar appearance]
I used...
self.navigationController.navigationBar
and my background image appears once more regardless of the UIAlertView.
What are the difference between these two references? Was beginning to think there was an issue with iOS 7 that I needed to report.