ios – 想要随时间改变UIView背景颜色

ios – 想要随时间改变UIView背景颜色,第1张

概述非常简单,我只想根据一天中的时间更改backgroundView的颜色,但由于某种原因它不起作用.任何帮助都会很棒. @IBOutlet weak var backgroundView: UIView!override func viewDidLoad() { super.viewDidLoad() let darkColor=UIColor(red: 51, green: 非常简单,我只想根据一天中的时间更改backgroundVIEw的颜色,但由于某种原因它不起作用.任何帮助都会很棒.

@IBOutlet weak var backgroundVIEw: UIVIEw!overrIDe func vIEwDIDLoad() {    super.vIEwDIDLoad()    let darkcolor=UIcolor(red: 51,green: 52,blue: 50,Alpha: 1.0)    let greycolor=UIcolor(red: 238,green: 240,blue: 239,Alpha: 1.0)    let hour = NSCalendar.current.component(.hour,from: NSDate() as Date)    switch hour {        case 1..<6: self.backgroundVIEw.backgroundcolor = darkcolor           break        case 7..<18: self.backgroundVIEw.backgroundcolor = greycolor           break        case 19..<24: self.backgroundVIEw.backgroundcolor = darkcolor           break    default:self.backgroundVIEw.backgroundcolor = greycolor    }}
解决方法 问题是以下几行分别忽略6,18,24:

1..<6 //1 - 57..<18 //7 - 1719..<24 //19 - 23

根据您的时间,检查时间;如果它恰好落在6号,18号,24号,那么它可能就是你认为它不起作用的原因.

使用您的代码,我确认视图的backgroundcolor确实发生了变化.

尝试将代码更改为以下内容:

switch hour{     // hours 1 to 6     case 1...6: self.backgroundVIEw.backgroundcolor = darkcolor            break     // hours 7 to 18     case 7...18: self.backgroundVIEw.backgroundcolor = greycolor            break     //hours 19 to 23 and 0     case 19...23,0: self.backgroundVIEw.backgroundcolor = darkcolor            break     default:self.backgroundVIEw.backgroundcolor = greycolor}

另一个问题如下:

let darkcolor=UIcolor(red: 51,Alpha: 1.0)let greycolor=UIcolor(red: 238,Alpha: 1.0)

因为他们应该:

let darkcolor = UIcolor(red: 51/255,green: 52/255,blue: 50/255,Alpha: 1.0)let greycolor = UIcolor(red: 238/255,green: 240/255,blue: 239/255,Alpha: 1.0)
总结

以上是内存溢出为你收集整理的ios – 想要随时间改变UIView背景颜色全部内容,希望文章能够帮你解决ios – 想要随时间改变UIView背景颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1209521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存