Сценарий:
У меня есть группа движущихся блоков, которые перемещаются из столбца 0 в 7. Когда пользователь нажимает, блоки останавливаются.
Вот мой код:
- (IBAction)userTap:(id)sender
{
[block1.layer removeAllAnimations];
[block2.layer removeAllAnimations];
[block3.layer removeAllAnimations];
}
Теперь я получаю слой представления и извлекаю необходимую информацию:
CALayer *player = [block1.layer presentationLayer];
float currentTranslation = [[pLayer valueForKeyPath:@"transform.translation.x"] floatValue];
// Set position of non-moving blocks here
currentTranslation верен, и я также проверил его, используя синхронизацию.Однако, похоже, что анимация работает быстрее, чем мой presentationLayer, и поэтому я вижу рывок, который происходит прямо при нажатии.
Что здесь происходит и как я могу это исправить?