Я использовал NSTimer
для запуска анимации снова и снова. Каким-то образом это дало вышеописанные побочные эффекты. Сейчас я использую блочную анимацию, доступную с iOS4
, которая работает намного плавнее. Вы должны объединить опции (UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse)
, чтобы повторить анимацию:
[UIView animateWithDuration:kDurationOfCellAnimation delay:0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse
animations:^{
//this will be animated in and out
cell.backgroundColor = CELL_RECORDING_COLOR;
}
completion:^(BOOL finished){
cell.backgroundColor = TABLEVIEW_BACKGROUND_COLOR;
}];
Единственный побочный эффект, который я испытал, состоял в том, что анимация останавливается, когда ячейка отключается от экрана, чего не было в случае NSTimer
.