iOSアプリ開発の逆引き辞典

iPhone/iPadで使えるアプリ開発のTipsをまとめてみました

UINavigationBarの背景画像を変更する

iOS 5.0からUINavigationBarに対して、任意の画像を背景画像を設定するのが簡単になりました。

下図のように標準解像度のナビゲーションバーのサイズ(320x44)に合わせて作成画像を使って、UINavigationBarの背景画像を変更してみましょう。

UIViewControllerのviewDidLoadメソッドで処理すると良いでしょう。

任意の画像のUIImageオブジェクトをまず生成します。UINavigationBarクラスのsetBackgroundImage:forBarMetrics:メソッドを使用してUIImageオブジェクトを設定します。

- (void)viewDidLoad
{
    UIImage *image = [UIImage imageNamed:@"navibar_background.png"];

    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}

上記のサンプルコードを実行すると、下図のようにナビゲーションバーの背景画像が差し変わります。