我正试图让按钮移动到坐标,暂停,移动到另一个坐标,暂停,然后再次移动。然后,这个过程应无限重复。我现在所做的只是移动最后一步。
这是我到目前为止('mover'是UIButton名称):
- (void) firstAnimation {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:5];
[UIView setAnimationRepeatCount:-1];
[UIView setAnimationRepeatAutoreverses:NO];
CGPoint pos = mover.center;
pos.y = 200.f;
pos.x = 169.f;
mover.center = pos;
[NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(firstAnimation:) userInfo:nil repeats:NO];
pos.y = 100.f;
pos.x = 179.f;
mover.center = pos;
[NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(firstAnimation:) userInfo:nil repeats:NO];
pos.y = 160.f;
pos.x = 129.f;
mover.center = pos;
[UIView commitAnimations];
}
感谢您的帮助
答案 0 :(得分:3)
答案 1 :(得分:1)
如果你是专门为iOS4发货,我完全建议使用块和以下方法:
[UIView animateWithDuration:kAnimationDuration
delay:kAnimationDelay
options:UIViewAnimationCurveEaseInOut
animations:^ {
// your animations here.
}
completion:^(BOOL finished) {
// what you want to do upon animation completion here.
}];
请注意,在完成块中,您也可以定位另一个动画。实际上,您可以将三个动画块存储为块变量,然后将它们一个接一个地传递给上面的方法,直到第三个完成。然后重启过程!
街区是你的朋友。
答案 2 :(得分:0)
您最适合使用CoreAnimation keyframes并将repeatCount = HUGE_VALF
设置为永久循环