gpt4 book ai didi

ios - 想要随一天中的时间更改 UIView 背景颜色

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:53 24 4
gpt4 key购买 nike

非常简单,我只想根据一天中的时间更改我的 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 - 5

7..<18 //7 - 17

19..<24 //19 - 23

取决于你有的时间,当你检查它的时候;如果它恰好落在 6、18、24 中的任何一个,那么这可能就是您认为它不起作用的原因。

使用您的代码,我确认 View 的 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, green: 52, blue: 50, alpha: 1.0)

let greyColor=UIColor(red: 238, green: 240, blue: 239, 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 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com