カスタム NavBar の AppDelegate.m でこれを使用します。
UIImage *NavigationPortraitBackground = [[UIImage imageNamed:@"gradient_main"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UINavigationBar appearance] setBackgroundImage:NavigationPortraitBackground forBarMetrics:UIBarMetricsDefault];
UIImage *barBackBtnImg = [[UIImage imageNamed:@"btn_nav_default.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barBackBtnImg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
結果:
ご覧のとおり、ボタンが繰り返されているようです。ボタンのサイズは 61x30 です。また、テキストは中央揃えではありません。テキストが短い場合 (メニューなど)、ボタンの画像は切り取られ、テキストが長い場合はボタンが繰り返されます。小さいアイコン (30x30) を持つボタンの同様の問題。ボタンは正常に表示されますが、画像の外側のボタンをクリックできます:(