2015-04-05 34 views
1

我想在運行時更改UINavigationBar tint顏色。 我懂得只有當應用程序與下面的代碼開始在應用程序委託(didFinishLaunching...在運行時用swift更改UINavigationBar tint顏色

UINavigationBar.appearance().barTintColor = UIColor(red: 50.0/255.0, green: 173.0/255.0, blue:240.0/255.0, alpha: 0.3) 

,但不能讓它在運行時改變改變它。我嘗試通過按鈕或段控件使用該代碼,但沒有任何反應。

回答

0

設置appearance()的tintColor對所有將在未來顯示的viewControllers都可以。對於當前顯示的viewController使用:

self.navigationController?.navigationBar.tintColor = UIColor(...) 
+0

我想爲所有控制器設置,但在運行時設置, – 2015-04-05 19:14:47

+0

它是否適用於當前顯示的控制器?如果是的話,你有什麼試圖讓它爲導航堆棧上的其他控制器工作? – zisoft 2015-04-05 19:36:38

+0

它不工作,我想要一種方式來改變它到處,而無需關閉並重新啓動應用程序。 – 2015-04-05 22:14:02

0

我終於找到了解決方案。

  • 我把我的班級除了UITableViewController

  • 我還加了UIApplicationDelegate

所以現在我想感謝您的幫助。