如何设置 uitoolbar 的背景类似于我的导航栏
Posted
技术标签:
【中文标题】如何设置 uitoolbar 的背景类似于我的导航栏【英文标题】:how to set uitoolbar's background similar to my navigation bar 【发布时间】:2011-02-16 08:23:57 【问题描述】:大家好: 我为导航栏设置了自定义背景,这是我认为我从 IB 中选择的色调。现在我想以编程方式更改类似于我的导航栏的 uitoolbar(以编程方式添加)背景。有义务在这方面提供任何帮助。
对不起,伙计们,这实际上是导航控制器的工具栏。所以这对我有用:self.navigationController.toolbar.tintColor=self.navigationController.navigationBar.tintColor;
感谢你们所有人的快速回复,尤其是@phooze,它让我朝着正确的方向前进:)
【问题讨论】:
【参考方案1】:UIToolbar 也有一个tintColor
属性,就像 UINavigationBar 一样。您应该能够将一个设置为另一个:
myToolbar.tintColor = myNavBar.tintColor;
在您创建工具栏之后。请记住,此代码仅在从 NIB 加载 myNavBar 时才有效,因此最好将其放在 viewWillAppear:
或 viewDidLoad
中。
您可以从 UINavigationController 的 navigationBar
属性访问 UINavigationBar(在您的情况下可能是 self.parentViewController
)。
【讨论】:
我已经尝试过这个 phooze.. 在我的情况下不起作用。我在 viewWillAppear 中这样做:self.toolbar.tintColor = self.navigationController.navigationBar.tintColor; 你能在代码中确认这两个项目都不是零吗?【参考方案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];
【讨论】:
你是对的,据我所知,无法比较颜色,但如果你已经有一个 UIColor 对象,你可以传递它(见我上面的回答)。【参考方案3】:我使用了以下 setBarTintColor,它对我有用,而 setTintColor 没有。
【讨论】:
【参考方案4】:如果您想要工具栏的默认黑色而不是您可以使用的颜色
UIToolbar *ta;
[ta setBarStyle:UIBarStyleBlack];
【讨论】:
【参考方案5】:仅使用以下代码..它正在工作..
toolbar.tintColor = self.navigationController.navigationBar.tintColor;
【讨论】:
以上是关于如何设置 uitoolbar 的背景类似于我的导航栏的主要内容,如果未能解决你的问题,请参考以下文章
如何使用自定义背景图像从 UINavigationBar 和 UIToolbar 中删除圆角?