UIView анимация прыгает в начале

Я запускаю этот код ...

[UIView animateWithDuration:0.2
                      delay:0.0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{

                     CGAffineTransform settingsTransform = CGAffineTransformMakeTranslation(self.settingsView.frame.size.width, 0);
                     CGAffineTransform speedTransform = CGAffineTransformMakeTranslation(-self.speedView.frame.size.width, 0);

                     self.settingsView.transform = settingsTransform;
                     self.speedView.transform = speedTransform;

                 } completion:nil];

Но когда он запускается, представления переходят на половину преобразования в противоположном направлении, а затем перемещаются на половину позиции в правильном направлении.

Я сократил продолжительность анимации до 5 секунд, но начальный скачок происходит мгновенно, и половина трансформации в неправильном направлении.

Когда я оживляю, используя этот код ...

[UIView animateWithDuration:0.2
                      delay:0.0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     self.settingsView.transform = CGAffineTransformIdentity;
                     self.speedView.transform = CGAffineTransformIdentity;
                 } completion:nil];

Это делает то же самое.

Результатом является то, что последнее движение - это половина желаемого преобразования, так как оно сначала перескакивает половину преобразования в неправильном направлении.

Я действительно не могу понять, почему это происходит?

Есть идеи.

::РЕДАКТИРОВАТЬ::

Устранение некоторой возможной двусмысленности.

Я не пытаюсь заставить эти представления "отскочить" вернуться туда, где они есть. Виды, которые я анимирую, похожи на панель управления на краю экрана. Когда пользователь нажимает & quot; go & quot; вид затем соскользнет с дороги. Когда пользователь нажимает кнопку «Стоп» панели скользят обратно в вид.

По крайней мере, раньше. С тех пор как я включил автоматическую разметку (которая мне нужна для других частей приложения), я не могу просто поменять рамку представлений, поэтому я пошел по пути трансформации.

Вы можете увидеть этот эффект, вставив вид в контроллер представления и кнопку для запуска анимации.

Спасибо

Ответы на вопрос(8)

Ваш ответ на вопрос