Функция @IBAction для viewDidLoad - PullRequest
       11

Функция @IBAction для viewDidLoad

0 голосов
/ 14 сентября 2018

Я пытаюсь добавить @IBAction из фонового представления в ViewController.swift, который отвечает на события Touch Down. Мой IBAction сделает последовательность черным -> белый -> светло-серый -> темно-серый -> красный -> черный. Эта последовательность должна повторяться бесконечно, пока пользователь нажимает на экран. Ради меня, я не могу понять, почему это не работает.

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.black
        self.changeBackground(self)
        // Do any additional setup after loading the view, typically from a nib.
    }

    @IBAction func changeBackground(_ sender: Any) {

        let button : UIButton = sender as! UIButton
            button.isSelected = !button.isSelected

            if (button.isSelected && self.view.backgroundColor  == UIColor.black){
                self.view.backgroundColor = UIColor.white
            }

            if (button.isSelected && self.view.backgroundColor  == UIColor.white){
                self.view.backgroundColor = UIColor.lightGray
            }

            if (button.isSelected && self.view.backgroundColor  == UIColor.lightGray){
                self.view.backgroundColor = UIColor.darkGray
            }

            if (button.isSelected && self.view.backgroundColor  == UIColor.darkGray){
                self.view.backgroundColor = UIColor.red
            }

            if (button.isSelected && self.view.backgroundColor  == UIColor.red){
                self.view.backgroundColor = UIColor.black
            }

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
...