このメソッドを呼び出すと:
- (void)method:(int)i {
while (image[i].center.y <= 100) {
image[i].center = CGPointMake(image[i].center.x, image[i].center.y+2);
}
}
ループは即座に実行され、画像は即座に y=100 のポイントに移動します。これを遅くする方法(または私が知らない代替手段)はありますか?
このメソッドを呼び出すと:
- (void)method:(int)i {
while (image[i].center.y <= 100) {
image[i].center = CGPointMake(image[i].center.x, image[i].center.y+2);
}
}
ループは即座に実行され、画像は即座に y=100 のポイントに移動します。これを遅くする方法(または私が知らない代替手段)はありますか?
アニメーションを作ろうとしているようですが、このようなものかもしれません。
- (void)method:(int)i {
[UIView animateWithDuration:2.0
animations:^{
image[i].center = CGPointMake(image[i].center.x, 100);
}];
}
これを読むことをお勧めします
次のようなコードを使用してみてください。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.25];
image.center = CGPointMake(image.center.x, image.center.y-moveAmount);
[UIView commitAnimations];