создать оператор if, основанный на времени сертификата, не работающий в поле зрения, действительно появился - PullRequest
1 голос
/ 12 июля 2020

Я хочу, чтобы фон моего кода uiviewcontroller менялся в зависимости от часа. Если код находится в первые 60 минут дня, цвет фона работает. Однако, когда время переходит на второй час, цвет изображения не меняется с серого на розовый. Я хочу, чтобы при смене часа цвет фона изменился. Просто беспокойтесь о первых 2 часах дня, как указано ниже. Код в военное время. Fun c вызывается из viewdappear.

import UIKit

class ViewController: UIViewController {
    var timer = Timer()        
    var currentDateTime = Date()
    
    lazy var dateFormatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateFormat = "hh:mm" // or "hh:mm a" if you need to have am or pm symbols
        return formatter
    }()
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(true)
        
        dateFormatter.timeStyle = .medium
        
      halsey()           
    }

    var count = 0
    fileprivate func halsey() {
        let minutesNow = getMinutesFromDate(date: Date())
        if  minutesNow >= 0 && minutesNow < 60  {
          
            //12
            
                 if count == 0{
                  box.backgroundColor = .gray
                count += 1
            }
         }
        
        if  minutesNow >= 60 && minutesNow < 120  {
           
            //1
            if count == 1 {
                 view.backgroundColor = .systemPink
                count += 1
            }
        }          
    }
    
    @objc func tick() {
        
    }
    
    func getMinutesFromDate(date: Date) -> Int {
        let dateComponents = Calendar.current.dateComponents([.hour, .minute], from: date)
        let minutes = ((dateComponents.hour ?? 0) * 60) + (dateComponents.minute ?? 0)
        return minutes
    }
}

 

1 Ответ

0 голосов
/ 12 июля 2020

Вам необходимо удалить

var count = 0

и любой связанный с ним код, как если бы приложение было открыто во второй час и count = 0 в это время, тогда этот код не будет

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