2014-12-03 87 views
-1

我想將圖像用作我的導航欄的背景。我可以將圖像放入欄中,但它看起來不正確。我附上了所需背景的圖像,以及我得到的結果。使用自定義圖像作爲UINavigationController的導航欄的背景

此外,這是我用來將圖像放入酒吧背景的代碼。

navigationController.navigationBar.setBackgroundImage(UIImage(named:"Top Bar Slice"), forBarMetrics: UIBarMetrics.Default) 

編輯: 答案之一得到了圖像到代碼,但現在它是瓷磚-ING整個酒吧。有沒有辦法來解決這個問題?

我現在使用的應用程序委託該代碼:

UINavigationBar.appearance()了setBackgroundImage(的UIImage(命名爲: 「頂酒吧」),forBarMetrics:UIBarMetrics.Default)

+0

圖片我想作爲背景使用 http://i.stack.imgur.com/b7w4m.png 結果使用上述代碼 HTTP://我.stack.imgur.com/Z7p2i.png – Dominic 2014-12-03 05:33:04

+0

尺寸是否匹配? – 2014-12-03 06:07:29

+0

圖像的大小是640x90我相信 – Dominic 2014-12-03 16:31:34

回答

1

您需要覆蓋UINavigationBar.appearance()

選項1:

let image = UIImage(named: "yourImage") 
UINavigationBar.appearance().setBackgroundImage(image, forBarMetrics: UIBarMetrics.Default) 

選項2:

UINavigationBar.appearance().setBackgroundImage(UIImage(named: "yourimage"), forBarMetrics: UIBarMetrics.Default) 

您還可以將titleView添加到viewController中的導航項。

選項3:

navigationItem.titleView = UIImageView(image: UIImage(named: "yourimage")) 
+0

我嘗試了兩種解決方案,但都不適合我。兩者在導航欄中都沒有顯示任何內容。原始代碼用於在那裏獲取圖像,但沒有正確設置它的大小 – Dominic 2014-12-03 16:33:02

+0

我能夠在應用程序代理中使用您的代碼,但是現在我的圖像偏離了中心並重疊了狀態欄。有沒有辦法設置背景圖片的框架?謝謝! – Dominic 2014-12-04 16:38:17

+0

不與.setBackgroundImage。你可以在你的視圖控制器添加一個UIImageView到navigationItem.titleView在你的viewDidLoad navigationItem.titleView = UIImageView(image:UIImage(named:「yourImage」)) 我編輯了我的答案。 – gabemorales 2014-12-08 18:56:24

相關問題