Как изменить фоновое изображение UIView в зависимости от времени суток (swift) - PullRequest
1 голос
/ 15 апреля 2020
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

Хотите изменить фоновое изображение в зависимости от времени суток

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

получите часы текущей даты в переменной, например:

let hour = Calendar.current.component(.hour, from: Date())

Теперь передайте это в свой оператор switch и измените изображение.

Ваш Swift Statement будет быть таким (сменить изображения в соответствии с вашими потребностями):

switch hour {
    case 1...6: 
        yourImageView.image = homepageNight
    case 7...18: 
        yourImageView.image = homepageNight
    default:
        yourImageView.image = homepageNight
 }

Если у вас есть какие-либо сомнения, пожалуйста, прокомментируйте.

Рад помочь!

0 голосов
/ 15 апреля 2020

Если вам нужно только узнать текущий час и узнать, является ли он AM или PM, вы можете использовать что-то вроде этого:

let formatter = DateFormatter()
formatter.dateFormat = "hh a" // "a" prints "pm" or "am"
let hourString = formatter.string(from: Date()) // "12 AM"

Итак, после этого вам нужно только применить правильное изображение в поле час получения строкового значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...