В iOS 5 вы можете легко установить изображение в панель навигации, позвонив по телефону:
[navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];
До iOS 5 не было публичного API для этого. Вы должны сделать это самостоятельно, и все эти способы будут иметь проблемы в iOS 5, потому что NavigationBar сильно изменился в новой iOS.
P.S. Может быть, я не должен говорить о iOS 5 здесь, потому что он еще не выпущен и все еще под Apple NDA ...