我想制作一个IBAction
,当被调用时会使图像“流畅地移动”一定量的像素。现在我有一个让图像向左移动10个像素的方法,但它只是传送到那里。我希望图像移过来,就像它的行走不是神奇地结束在那里。使图像更“流畅地”移动
这里是我有:
- (IBAction)moveImageLeft:(id)sender
{
y = y + 10;
myImageView.frame = CGRectMake(x, y, 45, 56);
}
我想制作一个IBAction
,当被调用时会使图像“流畅地移动”一定量的像素。现在我有一个让图像向左移动10个像素的方法,但它只是传送到那里。我希望图像移过来,就像它的行走不是神奇地结束在那里。使图像更“流畅地”移动
这里是我有:
- (IBAction)moveImageLeft:(id)sender
{
y = y + 10;
myImageView.frame = CGRectMake(x, y, 45, 56);
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
y = y + 10;
myImageView.frame = CGRectMake(x, y, 45, 56);
[UIView commitAnimations];
Good Work .. + 1我也是。 – 2012-08-09 05:09:25
@酒窝的答案是正确的。但是,仅供参考,这是另一种方式。它被称为动画块,在我看来,使整个动画过程更容易。
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
y = y + 10;
myImageView.frame = CGRectMake(x, y, 45, 56);
}completion:^(BOOL finishedAnimating){
if (finishedAnimating == YES) {
NSLog(@"animation finished");//you can put your own completion handler events here
}
}];
它有什么帮助? – user1438042 2012-08-04 06:56:09
@ user1438042它一切都一样,我只是认为它是一种更简洁,更有组织的动画表演方式。 – 2012-08-04 06:57:21
好了1先生你先生 – user1438042 2012-08-04 07:02:42
查看动画。我不使用iOS,但'UIView'的'beginAnimation:'等可能值得一看? – Vervious 2012-08-04 04:26:58