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];