Анимация UIView, основанная на скорости UIPanGestureRecognizer

Я хотел бы иметь возможность перемещать подпредставление на экран и выключать его так же, как вы просматриваете изображения в сборке iPhone в приложении «Фото», поэтому, если подпредставление больше 1 / 2 вне экрана, когда я отпускаю палец, он должен анимироваться за пределами экрана, но он также должен поддерживать смахивание, поэтому, если скорость смахивания / панорамирования достаточно высока, он должен анимироваться за пределами экрана, даже если он может быть меньше 1/2 от экрана .

Моя идея состояла в том, чтобы использовать UIPanGestureRecognizer, а затем протестировать скорость. Это работает, но как мне установить правильную продолжительность анимации для перемещения UIView на основе текущего местоположения представления и скорости панорамирования, чтобы оно казалось плавным? Если я устанавливаю фиксированное значение, анимация либо начинает замедляться, либо ускоряться по сравнению со скоростью смахивания моих пальцев.

36
задан C4 - Travis 2 May 2012 в 17:40
поделиться