首先,使您的导航栏图像大小为 1024x44 像素,视网膜显示为 2048x88 像素。
如果您在每个视图控制器上都有相同的 UINavigationBar 图像,请将其放在方法didFinishLaunchingWithOptions中的 AppDelegate 中:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav-background.png"] forBarMetrics:UIBarMetricsDefault];
// This will remove shadow in iOS6
if ([[UINavigationBar class] instancesRespondToSelector:@selector(shadowImage)]) {
[[UINavigationBar appearance] setShadowImage:[[[UIImage alloc] init] autorelease]];
}
而且我看到你需要自定义后退按钮,也把它放在 AppDelegate 中:
UIImage *backButtonNormal = [UIImage imageNamed:@"nav-back.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonNormal forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];