В моей программе я хочу создать анимацию, которая будет двигаться с постоянной скоростью. Похоже, анимация начинается медленно, ускоряется, а затем медленно заканчивается. Есть ли способ изменить это?
UIView animateWithDuration: продолжительность: анимация: завершение: похоже, есть переход по умолчанию?
Ответ 1
Вы можете изменить этот параметр, используя альтернативу animateWithDuration:delay:options:animations:completion:
. Отправьте маску UIViewAnimationOption
для параметра параметра. Вот интересующие вас варианты:
UIViewAnimationOptionCurveEaseInOut
UIViewAnimationOptionCurveEaseIn
UIViewAnimationOptionCurveEaseOut
UIViewAnimationOptionCurveLinear
В документации указано, что значение UIViewAnimationOptionCurveEaseInOut
является значением по умолчанию.
Подробнее см. документацию: http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html
Ответ 2
Вы должны использовать, чтобы решить вашу проблему
[UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
//code with animation
} completion:^(BOOL finished) {
//code for completion
}];