我正在使用UIScrollView并使用scrollRectToVisible:动画 这对我来说很好。 但我想慢慢滚动到某个位置,以便用户可以注意到该效果。 是否可能。
我正在尝试以下代码,但没有成功。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:2.0];
[scrlView scrollRectToVisible:<<some cgrect>> animated:YES];
[UIView commitAnimations];
答案 0 :(得分:56)
解决方案实际上非常简单。如果您使用[scrollView scrollRectToVisible:frame animated:YES]
,则滚动视图将启动它自己的动画,因此为了使用您的持续时间制作动画,您必须在动画中使用[scrollView scrollRectToVisible:frame animated:NO]
。
换句话说:这会奏效。
[UIView animateWithDuration:3
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{ [scrollView scrollRectToVisible:frame animated:NO]; }
completion:NULL];