使用Swift-iOS将自定义颜色和tintColor添加到工具栏

时间:2015-09-08 03:00:53

标签: ios xcode swift toolbar

我目前正在制作一个项目,我需要使用Swift为工具栏添加自定义颜色。我能够为导航栏添加自定义颜色,但我无法将导航栏等自定义添加到工具栏。还有什么我想念的吗?我在StackOverflow中研究过很多关于将色调颜色和文本颜色添加到工具栏但我还没有这样做的事情..

我自定义导航栏的代码如下:

    super.viewWillAppear(animated)
    var nav = self.navigationController?.navigationBar
    nav?.barStyle = UIBarStyle.Black
    nav?.tintColor = UIColor.whiteColor()
    nav?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]

例如:如果您在iOS设备上使用电子邮件应用,则会在屏幕底部看到工具栏,Apple已添加“撰写邮件”图标。我想自定义这个工具栏,就像我目前正在为上面的导航栏做的那样。任何例子都会有所帮助。

enter image description here

2 个答案:

答案 0 :(得分:2)

您需要更改UIToolBar背景图片。图像与您要为工具栏设置的颜色相同。见下面的代码。

self.toolBar.setBackgroundImage(UIImage(named: "your-image-name"), forToolbarPosition: .Any, barMetrics: .Default)
//self.toolBar.setShadowImage(UIImage(), forToolbarPosition: .Any)

更新:在Apple doc。

  

使用这些方法设置和访问工具栏的自定义背景图像。             默认值为零。当非零时,将使用图像而不是工具栏中的系统图像        指定的位置。             对于barMetrics参数,UIBarMetricsDefault是后备。

     

讨论:barStyle,tintColor,backgroundImage的相互依赖性。        当设置barStyle或tintColor以及条形图的背景图像时,        条形按钮(除非另有定制)将继承底层        barStyle或tintColor。

希望有所帮助!

答案 1 :(得分:0)

将nav变量从self.navigationController?.navigationBar更改为self.navigationItem。那是你想要定制的那个。