当我调用此方法时:
- (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];