Подтвердить что ты не робот

Iphone - UIScrollview - scrollRectToVisible с медленной анимацией

Я использую UIScrollView и используя scrollRectToVisible: анимированный Это отлично работает для меня. Но я хочу медленно прокручиваться до места, чтобы пользователь мог заметить эффект. Возможно ли это.

Я пытаюсь выполнить следующий код, но не удалось.

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:2.0];  
[scrlView scrollRectToVisible:<<some cgrect>> animated:YES];            
[UIView commitAnimations];          
4b9b3361

Ответ 1

Решение на самом деле довольно просто. Если вы используете [scrollView scrollRectToVisible:frame animated:YES], scrollview запустит собственную анимацию, поэтому для анимации с вашей продолжительностью вы должны использовать [scrollView scrollRectToVisible:frame animated:NO] в своей анимации.

Другими словами: Это будет работать.

[UIView animateWithDuration:3 
                      delay:0 
                    options:UIViewAnimationOptionCurveEaseInOut 
                 animations:^{ [scrollView scrollRectToVisible:frame animated:NO]; } 
                 completion:NULL];