Как исчезнуть цвет фона UIView - iOS 5

У меня возникли проблемы при попытке получить пользовательский класс UIView, чтобы исчезнуть "с фоном. Я'Мы проверили следующие вопросы StackOverflow, но они неКажется, это работает для меня.

Исчезать цвет фона от одного цвета к другому в UIView

Как вы явно оживляете CALayer?s backgroundColor?

Так что у меня есть пользовательский UIView, где пользователи могут рисовать вещи. Если то, что они рисуют, неверно, я хочу, чтобы цвет фона стал красным, а затем снова белым.

У меня есть этот пользовательский метод в пользовательском UIView называется

- (void)indicateMistake;

Когда я вызываю этот метод, я хочу, чтобы он выполнял анимацию цвета фона, поэтому у меня есть это в методе:

CABasicAnimation* fade = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
fade.fromValue = (id)[UIColor whiteColor].CGColor;
fade.toValue = (id)[UIColor redColor].CGColor;
[fade setDuration:3];
[self.layer addAnimation:fade forKey:@"fadeAnimation"];

Но, кажется, ничего не происходит, когда я это делаю.

Тогда я попробовал анимацию глупого вращения, чтобы увидеть, работает ли она вообще:

CABasicAnimation* rotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotate.toValue = [NSNumber numberWithInt:M_PI];
[rotate setDuration:1];
[self.layer addAnimation:rotate forKey:@"rotateAnimation"];

По какой-то причине это работает, и пользовательский UIView вращается.

Затем, читая больше ответов на StackOverflow, я попробовал это:

[UIView animateWithDuration:3 animations:^{
    [self setBackgroundColor: [UIColor redColor]];
} completion:^(BOOL finished) {
    [self setBackgroundColor: [UIColor whiteColor]];
}];

Это сразу меняет цвет с красного на белый. Иногда этотак быстро я иногда могуне вижу, чтобы это случилось. Если я закомментирую[self setBackgroundColor: [UIColor whiteColor]]; он остается красным. Но там'с узлом постепенного белого до красного эффекта.

у нас закончились идеи. Любая помощь будет оценена!

Ответы на вопрос(3)

Ваш ответ на вопрос