如何使图像在iPhone主屏幕上晃动?
问题描述:
我在我的应用程序中有很多图标,我想以类似于当您尝试从iPhone主屏幕上删除应用程序时发生的情况对其进行动画处理。你怎么能这样做?如何使图像在iPhone主屏幕上晃动?
此外,有没有办法让图标在屏幕上以与您解锁iPhone时发生的情况类似的方式动画化?
答
如果你想使你的观点,图像等摆动,像主屏幕,你可以做这样的事情:
CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-15.0));
CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(15.0));
view.transform = leftWobble; // starting point
[UIView beginAnimations:@"wobble" context:view];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:5]; // adjustable
[UIView setAnimationDuration:0.125];
[UIView setAnimationDelegate:self];
view.transform = rightWobble; // end here & auto-reverse
[UIView commitAnimations];
您还需要添加此定义:
#define RADIANS(degrees) ((degrees * M_PI)/180.0)
答
与块(iOS 4以上),它看起来像:
#define RADIANS(degrees) ((degrees * M_PI)/180.0)
CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-2.0));
CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(2.0));
cell.transform = leftWobble; // starting point
cell.deleteButton.hidden = NO;
[UIView animateWithDuration:0.125 delay:0 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) animations:^{
cell.transform = rightWobble;
}completion:^(BOOL finished){
}];
我应该在哪里应该在viewDidUnload()方法或任何其他的代码,因为我真的不知道这个谢谢 – Pooja 2011-02-12 20:15:45