2015-04-05 111 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

所以现在我想感谢您的帮助。