2016-08-23 109 views
2

我有一个iOS 8以后的应用程序。它的工作方式是你有一个UITableView并点击单元格来产生一个分数,这取决于UItoolbar的得分iOS 10,UIToolbar背景颜色不变

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) {

较薄的底部采用这种方法改变颜色g是,自从我构建应用程序以来,它一直都在运行,但在iOS 10中,它并没有。简单地说颜色不改变...

任何帮助,将不胜感激

+0

同样在这里 - 你找到了解决方案吗? –

+0

任何人都可以解决这个问题? –

+0

看到我的回答上面 – Jp4Real

回答

8

我能解决这个问题,它改变了这个:BarTintColor,发现自己无法找到苹果文档的任何mentionning它

使用方法如下:self.toolbar.barTintColor

编辑:有sometinhg现在mentionning它在GM发布文档,参见下文

+0

这不适合我吗? – Khoury

+0

发表你的代码,也是这样迅速2.3不快3 – Jp4Real

+0

Ahhk,这个不适用于swift 3或者? – Khoury

1

我设法让在IOS 10和斯威夫特3此项工作与此代码答案:

let dummyToolbar = UIToolbar() 
dummyToolbar.barTintColor = .lightGray 
dummyToolbar.sizeToFit() // without this line it doesn't work