Я пытаюсь отобразить определенное подпредставление в ячейке таблицы, когда пользователь проводит по ячейке.Я использую блочную анимацию, предоставленную iOS.
Я регистрируюсь для жеста смахивания в методе ViewDidLoad UITableViewController, используя следующий код.
UISwipeGestureRecognizer *showExtrasSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(cellSwipe:)];
showExtrasSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
[self.tableView addGestureRecognizer:showExtrasSwipe];
Когда пользователь проводит по ячейке, я запускаю анимацию сальто, используя следующий код.
-(void)cellSwipe:(UISwipeGestureRecognizer *)gesture
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ActionsCell" owner:self options:nil];
ActionsCell* actionView = (ActionsCell *)[nib objectAtIndex:0];
[UIView transitionWithView:swipedCell duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^ { [swipedCell addSubview:actionView]; }
completion:nil];
}
В приведенной выше реализации я заметил, что продолжительность анимации переворачивания не постоянна, а иногда анимация не плавная.Я заметил, что если быстро провести по ячейке, анимация будет плавной.Но если я медленно проведу по маленькому биту, т. Е. Потрачу немного больше времени, анимация переворота не будет плавной, а иногда анимация вообще не будет видна.
Может быть потому, что я установил длительность анимации равной 0,5 секунды, а некоторое время, затрачиваемое на медленное перелистывание, уменьшает доступную продолжительность анимации?Есть ли способ проверить, что свайп закончился?Я пользуюсь iOS 4.3
Благодарю за помощь !!