Как сделать так, чтобы весь UIView стал белым и обратно? - PullRequest
0 голосов
/ 04 марта 2019

Этот вопрос уже решен.

Я пытаюсь заставить экран переходить в белый цвет и обратно при нажатии кнопки.Я нашел некоторый код, который изменяет альфа-представление представления до 0 и обратно до 1, что меняет цвет всего экрана на черный.То, что я хочу, это способ сделать его белым, а не черным.Я новичок в кодировании, и любая помощь очень ценится.Спасибо!

Вот мой код для расширения, которое исчезает из UIView:

extension UIView {
func fadeIn(_ duration: TimeInterval = 1.0, delay: TimeInterval = 0.0, completion: @escaping ((Bool) -> Void) = {(finished: Bool) -> Void in}) {
    UIView.animate(withDuration: duration, delay: delay, options: UIView.AnimationOptions.curveEaseIn, animations: {
        self.alpha = 1.0
    }, completion: completion)  }

func fadeOut(_ duration: TimeInterval = 1.0, delay: TimeInterval = 0.0, completion: @escaping (Bool) -> Void = {(finished: Bool) -> Void in}) {
    UIView.animate(withDuration: duration, delay: delay, options: UIView.AnimationOptions.curveEaseIn, animations: {
        self.alpha = 0.0
    }, completion: completion)
}

Вот мой код для реализации расширения:

@IBAction func playButtonPressed(_ sender: Any) {
    self.view.fadeOut(completion: {
        (finished: Bool) -> Void in
        self.view.fadeIn()
    })
}

1 Ответ

0 голосов
/ 04 марта 2019
let whiteView = UIView(frame: view.frame)
whiteView.backgroundColor = .white
whiteView.alpha = 0
view.addSubview(whiteView)

UIViewPropertyAnimator.runningPropertyAnimator(withDuration: 1.0, delay: 0, options: .curveEaseIn, animations: {
  whiteView.alpha = 1.0
}, completion: nil)
...