swift NavigationBar 背景に画像を設定する

最近故あってswiftの勉強会に参加しております。
その勉強会の課題で「ナビゲーションバーに画像を設定する」という課題があったので1日かけて悩んでいました。
やっとその解決方法を見つけたのでメモします。

UINavigationBarの背景に画像を設定する

     override func viewDidLoad() {
        super.viewDidLoad()
        var navBarImage = UIImage(named: "navigation_background.png") as UIImage?
        self.navigationController?.navigationBar.setBackgroundImage(navBarImage,forBarMetrics:.Default)
     }

この時ハマった点はUIImageで画像を取得する部分の”.png”が”.jpg”になっていてそれに気づかなかった点でした。
AndroidStudioのように画像のファイル名が間違ってると指摘してくれる、といった機能がないので気づくまでに時間がかかりました。
ちなみに画像ファイル名を間違ったままにするとナビバーの背景色は白色になります。

それでどうしてだ?なんでだ?と検索に検索を重ねたりしました。
灯台下暗し。

参考:
set navigationBar background image in swift
UIBarPositioning Protocol Reference
https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UINavigationBar_Class/#//apple_ref/occ/instm/UINavigationBar/setBackgroundImage:forBarMetrics:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です