我有一个问题。我正在使用动画块,但第二个动画同时动画第一个动画。
这是我的代码。
[UIView animateWithDuration:2.0f
delay:0.0f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.scrollView.frame = CGRectMake(63, 59, 437, 289);
}
completion:^(BOOL finished){
if (finished) {
[UIScrollView beginAnimations:nil context:NULL];
[UIScrollView setAnimationDuration:0.6];
self.scrollView.frame = CGRectMake(63, 2, 437, 289);
[UIScrollView commitAnimations];
}
}]
提前致谢..
答案 0 :(得分:2)
Maddy告诉你该怎么做。嵌套的块语法很难弄清楚,所以作弊:
[UIView animateWithDuration:2.0f
delay:0.0f
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.scrollView.frame = CGRectMake(63, 59, 437, 289);
}
completion:^(BOOL finished){
if (finished)
{
[self secondAnimation];
}
}]
- (void) secondAnimation:
{
[UIView animateWithDuration: 0.6
animations: ^
{
self.scrollView.frame = CGRectMake(63, 2, 437, 289);
}
];
}
答案 1 :(得分:0)
添加在第一个动画之前显示self.scrollView.frame
的NSLog。如果你实际上没有改变动画中的任何内容,我认为它会被跳过。