我有一个应用程序,自iOS 8以来一直存在。它的工作方式是你有一个UITableView并点击单元格来产生一个分数,这取决于底部的UI工具栏得分使用此方法更改颜色:
func updateToolbarAndLabel(score: Int) {
if(score <= -1) {
self.toolbar.backgroundColor = UIColor.greenColor()
} else if(score <= 0) {
self.toolbar.backgroundColor = .None
} else if(score <= 9) {
self.toolbar.backgroundColor = UIColor.greenColor()
} else if(score <= 29) {
self.toolbar.backgroundColor = UIColor.yellowColor()
} else if(score >= 30) {
self.toolbar.backgroundColor = UIColor.redColor()
}
if (score <= 0) {
self.scoreshow.text = "0"
} else {
self.scoreshow.text = (score as NSNumber).stringValue }
}
然后每当用这个点击表视图时调用它:
func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath) {
事实上,自从我构建应用程序以来它始终有效,但在iOS 10上,它并没有。简单地把颜色改变了......任何帮助将不胜感激
答案 0 :(得分:10)
我能够解决它,它改为:BarTintColor,发现它自己在苹果文档中找不到任何东西
像这样使用:self.toolbar.barTintColor
编辑:现在有一些人在GM发布文档中提到它,请参阅下面的回答
答案 1 :(得分:3)
使用&&
不会产生我想要的正确颜色,但以下方法适用于iOS 11 / Swift 4。
首先,创建一个任何大小的图像,其颜色应该是您想要的条形。
之后,请使用以下扩展名:
someBoolean
您创建的纯色图像将作为工具栏的背景应用,并且应与您想要的颜色完美匹配。
答案 2 :(得分:2)
我设法使用此代码在IOS 10和Swift 3上完成了这项工作:
let dummyToolbar = UIToolbar()
dummyToolbar.barTintColor = .lightGray
dummyToolbar.sizeToFit() // without this line it doesn't work
答案 3 :(得分:1)
这可能与此处概述的UIKit更改有关:https://beta.applebetas.tk/notes/ios/10.0/beta_gm.pdf
我也面临这个问题,你有没有设法解决它?
答案 4 :(得分:1)
对于iOS 11和12 Swift 4,我可以使用以下代码进行操作:
self.navigationController?.toolbar.barTintColor = UIColor.init(white: 0.9, alpha: 1)
答案 5 :(得分:0)
这在适用于IOS12和Swift 4的xCode 11中有效:
self.navigationController?.toolbar.barTintColor = UIColor.black
答案 6 :(得分:0)
更改背景颜色:
toolBar.barTintColor = UIColor.musalaDarkBlueColor
更改按钮颜色:
toolBar.tintColor = UIColor.white