У меня есть UIViewController
, который содержит subview, который отображает форму волны. Когда нажата кнопка, я пытаюсь получить главный UIView
, подвью и панель навигации, чтобы перейти от белого к серому. Я смог изменить основной вид и панель навигации, но не могу понять, как заставить subview изменять форму волны. В настоящее время subview мгновенно меняется на серый, а не на анимацию в синхронизации с другим видом и навигационной панелью.subview цвет фона не оживляющий
//View Controller Code
UIView.animate(withDuration: 10.0, animations: {
self.navigationController?.navigationBar.barTintColor = UIColor(red: 20.00/255, green: 20.00/255, blue: 20.00/255, alpha: 1.00)
self.navigationController?.navigationBar.layoutIfNeeded()
self.waveform.backgroundColor = UIColor(red: 20.00/255, green: 20.00/255, blue: 20.00/255, alpha: 1.00)
self.view.backgroundColor = UIColor(red: 20.00/255, green: 20.00/255, blue: 20.00/255, alpha: 1.00)
}, completion: { finished in
//do stuff
})
//waveform view
override init(frame: CGRect) {
super.init(frame: frame)
self.setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.setup()
}
override func draw(_ rect: CGRect) {
for i in 0..<self.circles.count {
self.draw(self.circles[i], ratio: -1.0)
self.draw(self.circles[i], ratio: 1.0)
}
}
func update(_ level: Double) {
amplitude = fmin(normalizedPowerLevelFromDecibels(level), maxAmplitude)
setNeedsDisplay()
}
// ОБНОВЛЕНО анимация
UIView.transition(with: self.view, duration: 1.0, options: [.transitionCrossDissolve], animations: {
self.view.backgroundColor = UIColor(red: 20.00/255, green: 20.00/255, blue: 20.00/255, alpha: 1.00)
self.navigationController?.navigationBar.barTintColor = UIColor(red: 20.00/255, green: 20.00/255, blue: 20.00/255, alpha: 1.00)
self.navigationController?.navigationBar.layoutIfNeeded()
self.waveform.backgroundColor = UIColor(red: 20.00/255, green: 20.00/255, blue: 20.00/255, alpha: 1.00)
}, completion: nil)
Это приводит к тому, вид сигнала и панель навигации для анимации в синхронизации, но self.view
изменения в темно-серый цвет сразу после того, как две другие точки зрения сделаны анимации ...
Невозможно получить представление из вышеприведенного фрагмента кода, можете ли вы поделиться своим проектом с помощью [email protected], тогда я попытаюсь выяснить проблему. – arunjos007
Друг вы устанавливаете начальный цвет? –
Я пробовал ваш код, он отлично работает. Цвета анимируются для всех трех ... –