Ios 如何根据一天中的时间(swift)更改UIView背景图像

Ios 如何根据一天中的时间(swift)更改UIView背景图像,ios,swift,xcode,Ios,Swift,Xcode,要根据一天中的时间更改背景图像如果您只需要获取当前小时并知道是上午还是下午,您可以使用以下方法: let homepageDay = UIImage(cgImage: "Homepage Day" as! CGImage) let homepageNight = UIImage(cgImage: "Homepage Night" as! CGImage) let hour = NSCalendar.current.component(.hour, from: NSDate()

要根据一天中的时间更改背景图像

如果您只需要获取当前小时并知道是上午还是下午,您可以使用以下方法:

let homepageDay = UIImage(cgImage:  "Homepage Day" as! CGImage)
    let homepageNight = UIImage(cgImage: "Homepage Night" as! CGImage)
    let hour = NSCalendar.current.component(.hour, from: NSDate() as Date)

    switch hour
    {
         // hours 1 to 6
    case 1...6: homepageDay. = UIImage
        //self.backgroundImage = homepageNight
                break
         // hours 7 to 18

因此,在此之后,您只需在获取字符串值的小时内应用正确的图像间隔。

如果您只需要获取当前小时并知道它是AM还是PM,您可以使用以下方法:

let homepageDay = UIImage(cgImage:  "Homepage Day" as! CGImage)
    let homepageNight = UIImage(cgImage: "Homepage Night" as! CGImage)
    let hour = NSCalendar.current.component(.hour, from: NSDate() as Date)

    switch hour
    {
         // hours 1 to 6
    case 1...6: homepageDay. = UIImage
        //self.backgroundImage = homepageNight
                break
         // hours 7 to 18

因此,在此之后,您只需将正确的图像间隔应用于获取字符串值的小时。

在如下变量中获取当前日期的小时数:

let formatter = DateFormatter()
formatter.dateFormat = "hh a" // "a" prints "pm" or "am"
let hourString = formatter.string(from: Date()) // "12 AM"
现在将其传递给switch语句并更改图像

您的Swift声明如下(根据需要更改图像):

如果您有任何疑问,请发表评论


很乐意帮忙

以如下变量获取当前日期的小时数:

let formatter = DateFormatter()
formatter.dateFormat = "hh a" // "a" prints "pm" or "am"
let hourString = formatter.string(from: Date()) // "12 AM"
现在将其传递给switch语句并更改图像

您的Swift声明如下(根据需要更改图像):

如果您有任何疑问,请发表评论


很乐意帮忙

那么switch语句是否为switch hour{//hours 1 to 6案例1…6:homepageDay.backgroundimage=UIImagethat help,但我收到一条错误消息,即类型为“viewController”的值没有成员“backgroundimage”??您需要将self.backgroundImage替换为imageView…这将解决您的问题…但您无法将属性正确分配给它本身?因此我无法将self.backgroundImage替换为imageView(homepageNight或homepageDay)对于@IBOutletTry:youImageView.image=homepagenights,switch语句是否为switch hour{//hours 1到6案例1…6:homepageDay.backgroundimage=uiimagewhat有帮助,但我收到了一条错误消息,即类型为“viewController”的值没有成员“backgroundImage”?您需要将self.backgroundImage替换为imageView…这将解决您的问题…但您无法将正确的属性分配给它本身?因此,我无法将self.backgroundImage替换为imageView(homepageNight或homepageDay)和@IBOutletTry:youImageView.image=homepageNight