2016-12-16 2 views
0

У меня есть несколько этикеток с LightGray цвета фона, и я хочу, чтобы оживить их цвет UIColor.clear:UIView.animate не работает на цвете фона

UIView.animate(withDuration: 5.0, animations: { 
        self.titleLabel.backgroundColor = UIColor.clear 
        self.dateLabel.backgroundColor = UIColor.clear 
        self.categoryLabel.backgroundColor = UIColor.clear 
       }) 

Но цвет меняется мгновенно! Зачем?

ответ

0

Ну, я не знаю причину этого, почему Apple, техника его подводит позволяют анимировать изменение цвета фона, но здесь это решение, предоставляемое в другом stackoverflow's post, который выглядит следующим образом:

#import <QuartzCore/QuartzCore.h> 

... 

theLabel.layer.backgroundColor = [UIColor whiteColor].CGColor; 

[UIView animateWithDuration:2.0 animations:^{ 
    theLabel.layer.backgroundColor = [UIColor greenColor].CGColor; 
} completion:NULL]; 

Другой хак, что вы делаете UIView за UILabel, и дать UILabel ясного цвета, таким образом, вы можете анимировать изменение цвета UIView

+0

ли Objective-C? :) –

+0

Да, вам это нужно в Swift? – Munahil

+1

Не я, @ RankoR делает, пожалуйста, перепроверьте вопрос, фрагмент кода - это код Swift, и нет тега object-c. Вот почему я думаю, что это должен быть Свифт. Спасибо за ответ :) –

Смежные вопросы