Facebook POP: анимация UITableViewCell не всегда работает

Когда пользователь касается UITableViewCell, я хочу, чтобы изображение в этой ячейке сделало небольшую подпрыгивающую анимацию, чтобы обеспечить обратную связь с пользователем. Эта анимация работает точно так, как я хочу, за исключением того, что она не всегда срабатывает при нажатии на ячейку. Я использую Facebook POP анимационные рамки.

#import <POP/POP.h>

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"customcell" forIndexPath:indexPath];

    POPSpringAnimation *scaleAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewScaleXY];
    scaleAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(1,1)];
    scaleAnimation.velocity = [NSValue valueWithCGPoint:CGPointMake(5,5)];
    scaleAnimation.springBounciness = 20.f;

    [cell.bounceimage pop_addAnimation:scaleAnimation forKey:@"scaleAnimation"];
}

Нужно ли сбрасывать анимацию каждый раз при нажатии на ячейку или что-то еще, что мне не хватает?

заранее спасибо

1 ответ

Проблема в том, что вы создаете (или повторно используете) ячейку каждый раз didSelectRowAtIndexPath называется, потому что вы используете dequeueReusableCellWithIdentifier, Вместо этого первая строка вашей реализации должна быть:

MyCustomCell *cell = (MyCustomCell *)[tableView cellForRowAtIndexPath: indexPath];
Другие вопросы по тегам