У меня есть пользовательская ячейка UITableView, в которой есть кнопка и метка.Я использую метод, когда кто-то нажимает на кнопку, а затем окрашиваю этот ряд.Все работает нормально.
Что я на самом деле хочу сделать, так это
- кнопка пользовательских нажатий, строка окрашена в градиент (теперь работает)
- градиент исчезает
Мой код ниже (BackView - это вид в моей пользовательской ячейке)
CAGradientLayer *layer = [CAGradientLayer layer];
layer.frame = BackView.bounds;
UIColor *cOne = [UIColor paleYellowColor];
UIColor *cTwo = [UIColor whiteColor];
NSArray *colors = [NSArray arrayWithObjects:(id)cOne.CGColor,
cTwo.CGColor, nil];
layer.colors = colors;
NSNumber *stopOne = [NSNumber numberWithFloat:0.00];
NSNumber *stopTwo = [NSNumber numberWithFloat:0.8];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil];
layer.locations = locations;
CABasicAnimation *animateLayer = [CABasicAnimation animationWithKeyPath:@"colors"];
animateLayer.fromValue = [UIColor paleYellowColor];
animateLayer.toValue = [UIColor whiteColor];
animateLayer.duration = 3.0;
animateLayer.removedOnCompletion = YES;
animateLayer.fillMode = kCAFillModeBoth;
animateLayer.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
[layer addAnimation:animateLayer forKey:@"animation"];
[BackView.layer insertSublayer:layer atIndex:0];
С этим кодом, когда я касаюсь кнопки в строке, фонполучает градиент, но он никогда не исчезает, нет анимации - ничего.Что я делаю неправильно?Я попробовал несколько перестановок и увидел несколько примеров, но ни один из них не помог мне заставить это работать.
Спасибо!