如何设置 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 的背景类似于我的导航栏的主要内容,如果未能解决你的问题,请参考以下文章

更改 UIToolbar 的背景图片

UIToolBar:如何设置自定义文本/背景颜色

如何使用自定义背景图像从 UINavigationBar 和 UIToolbar 中删除圆角?

如何在 iOS 11 和 iPhone X 上实现隐藏 UITabBar 以显示 UIToolbar

设置 UIToolBar 背景图片

如何将 UIToolbar 扩展到其他对象,如 safari