Как анимировать изменение цвета границы UITextField? - PullRequest
2 голосов
/ 29 ноября 2011

Из этого вопроса я делаю вывод, что следующее должно оживить изменение цвета границы моего UITextField:

        [UIView animateWithDuration:5.0f animations:^() {
            myUITextField.layer.borderColor = [UIColor greenColor].CGColor;
        }];

Но это не так, граница мгновенно меняет цвет. Это очевидно, что я делаю не так?

Обновление: Хорошо, попробуйте следующую неявную анимацию :

        [CATransaction begin];
        [CATransaction setValue:[NSNumber numberWithFloat:5.0f] forKey:kCATransactionAnimationDuration];
            myUITextField.layer.borderColor = [UIColor greenColor].CGColor;
        [CATransaction commit];

И это тоже не оживляет, тот же эффект: он мгновенно меняет цвет (кроме того, где задокументировано значение kCATransactionAnimationDuration для layer.borderColor?)

1 Ответ

6 голосов
/ 29 ноября 2011

Я считаю, что CALayer свойства не анимируемы в UIView анимационном блоке. Вам нужно будет установить CABasicAnimation и добавить эту анимацию к слою.

...