このなど、関連する質問がいくつか見つかりましたが、ここでも少し助けが必要です。私が欲しいのは、一度クリックすると、次のいずれかの方法でランダムに飛行するボタンです。1、5 つのランダムな位置を飛行し、元の位置に戻ります。または 2、ランダムに 2 秒間飛行し、その後元の位置に戻ります。
これが私のコードですが、停止コントロールがまだありません:
//if the button clicked
[self animationLoop:@"Wrong!" finished:1 context:nil];
-(void)animationLoop:(NSString *)animationID finished:(int)finished context:(void *)context {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationRepeatCount:finished];
CGFloat x = (CGFloat) (arc4random() % (int) self.view.bounds.size.width);
CGFloat y = (CGFloat) (arc4random() % (int) self.view.bounds.size.height);
CGPoint squarePostion = CGPointMake(x, y);
theWrongButton.center = squarePostion;
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationLoop:finished:context:)];
[UIView commitAnimations];
}
私の質問は、アニメーションを数回または数秒ループさせる方法のようなものだと思います。