如何在UIView中使用setAnimationStartDate?

时间:2015-01-04 02:52:14

标签: ios objective-c iphone animation uiview

如何使用setAnimationStartDate? 以下代码不起作用。

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:3.0]; 
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:3];
[UIView setAnimationStartDate:date];

CGPoint point = _imageView.center;
point.y += 150;
[_imageView setCenter:point];

[UIView commitAnimations];

1 个答案:

答案 0 :(得分:1)

您可以使用基于块的动画。它们更清洁,可以完全满足您的需求。要查看的一种方法是+[UIView animateWithDuration:delay:options:animations: completion:]delay参数在您的情况下非常有用。这是一个例子。

[UIView animateWithDuration:10 
                      delay:3 
                     options:UIViewAnimationOptionCurveEaseIn 
                  animations: ^{
                                     CGPoint point = _imageView.center;
                                     point.y += 150;
                                     [_imageView setCenter:point];
                               } 
                  completion: ^(BOOL finished) {
                                     NSLog(@"Animation Complete");
                               }];

您可能不得不使用delay来模仿您的NSDate设置。