iPhone: анимация сальто с использованием блочных методов анимации не является плавной при использовании в жесте смахивания - PullRequest
2 голосов
/ 07 ноября 2011

Я пытаюсь отобразить определенное подпредставление в ячейке таблицы, когда пользователь проводит по ячейке.Я использую блочную анимацию, предоставленную 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

Благодарю за помощь !!

1 Ответ

1 голос
/ 23 декабря 2011

Мы, наконец, решили эту проблему, применив обходной путь слегка увеличивающейся продолжительности перехода от 0,5 с до 0,8 с.Хотя пока не уверен, что может быть правильным решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...