Цвет фона UIView возвращается к исходному цвету после завершения - PullRequest
0 голосов
/ 23 января 2019

Есть ли причина, по которой backgroundColor из UIView будет возвращаться к своему первоначальному цвету после изменения его свойства цвета во вложенном методе UIView.animate?Я установил его для очистки во время анимации, затем он переходит обратно в белый цвет в последнюю секунду до последнего завершения.

Я попытался преобразовать в animateWithKeyframes, и у меня все еще есть подобное условие.

В основном я пытаюсь использовать представление в качестве маски и анимировать его через метку.У меня есть darkModeBool, который указывает, хочет ли пользователь темную тему.Я хочу, чтобы label.textColor и цвет view.Background менялись в соответствии с моим заданным протоколом темы, когда он попадает в этот блок анимации, если для этого darkModeBool установлено значение true.

func animateGraphic() {
    firstMaskWidthConstraint.constant = 0
    UIView.animate(withDuration: 1.2, delay: 1, options: .curveLinear, animations: {
        self.view.layoutIfNeeded()
        self.firstMaskView.backgroundColor = .clear
        print("1")
    }) { (_) in
        self.secondMaskHeightConstraint.constant = 0
        UIView.animate(withDuration: 0.8, delay: 0, options: .curveEaseIn, animations: {
            self.view.layoutIfNeeded()
            self.secondMaskView.backgroundColor = .clear
            print("2")
        }, completion: { (_) in
            UIView.animate(withDuration: 1, delay: 0.8, options: .curveEaseInOut, animations: {
                self.view.layoutIfNeeded()
                self.view.backgroundColor = SproutTheme.current.backgroundColor.cgColor
                self.sproutLabel.textColor = SproutTheme.current.textColor

            }, completion: { (_) in
                RunLoop.current.run(until: Date(timeIntervalSinceNow: 1.8))
                self.popToNavigationStack()
            })
        })
    }
}

Когда предполагается представлениечтобы изменить его backgroundColor во втором до последнего завершения, firstMaskView и secondMaskView возвращаются к белому покрытию текста.Любой вклад приветствуется.

...