2011-02-16 45 views
6

大家好:
我为我的导航栏设置了一个自定义背景,它是一种浅色,我认为我是从IB中选择的。现在我想以编程方式更改我的uitoolbar(以编程方式添加)背景,类似于我的导航栏。在这方面有任何帮助。如何设置uitoolbar的背景类似于我的导航栏

对不起,我的坏它实际上是导航控制器的工具栏。所以这个工作对我来说:
self.navigationController.toolbar.tintColor=self.navigationController.navigationBar.tintColor;

感谢所有的u的家伙,反应敏捷尤其@phooze这让我在正确的方向:)

回答

11

UIToolbar也有一个tintColor财产,就像一个UINavigationBar的。您应该可以设置为另一个:

myToolbar.tintColor = myNavBar.tintColor; 

创建工具栏后。请记住,如果myNavBar已经从NIB加载,此代码才会起作用,因此最好将其放入viewWillAppear:viewDidLoad

您可以从UINavigationController的navigationBar属性(在您的情况下可能是s elf.parentViewController)访问UINavigationBar。

+0

我已经尝试过这个嘟嘟声..不是在我的情况下工作。我正在做我的viewWillAppear:self.toolbar.tintColor = self.navigationController.navigationBar.tintColor; – Tobias

+0

您能否在代码中确认这两个项目都是非零? – makdad

2

有没有办法比较的导航栏和工具栏的颜色,但如果你想在默认的黑色工具栏,你可以设置工具栏的颜色与下面的代码

aToolbar.barStyle = UIBarStyleBlackTranslucent; 
    aToolbar.tintColor = [UIColor blackColor]; 
    aToolbar.alpha = 0.7; 

aToolBar.tintColor = [UIColor colorWithRed:0.15 green:0.35 blue:0.45 alpha:0.6]; 
+1

根据我的了解,无法比较颜色是正确的,但如果已经有UIColor对象,则可以传递UIColor对象(请参阅上面的答案)。 – makdad

0

比你可以使用

UIToolbar *ta; 
[ta setBarStyle:UIBarStyleBlack]; 
0

只有使用下面的代码that..it的工作..

toolbar.tintColor = self.navigationController.navigationBar.tintColor;

0

我使用了以下setBarTintColor,它对setTintColor没有帮助。