当视图改变时我需要爆炸效果,即当我移动到下一个视图时爆炸动画。单击仪表板中的图标时,我在 facebook 应用程序中发现了这种类型的动画
请帮我
嗨,我完成了爆炸视图这是我的代码谢谢你的帮助
//视图爆炸的点击事件
-(IBAction) buttonPressed: (id) sender{
UIButton *buttonPressed = (UIButton *)sender;
NSLog(@"buttonTag %d",buttonPressed.tag);
@try {
switch (buttonPressed.tag) {
NSLog(@"Pugal");
case 0:
viewController=news;
break;
case 1:
viewController=videoWeb;
break;
case 2:
viewController=photo;
break;
case 3:
viewController=events;
break;
case 4:
viewController=mobileWeb;
break;
default:
break;
}
}
[self performSelector:@selector(animateTransition:) withObject:[NSNumber numberWithFloat: TIME_FOR_EXPANDING]];
}
//动画过渡
-(void)animateTransition:(NSNumber *)duration {
self.view.userInteractionEnabled=NO;
[[self view] addSubview:viewController.view];
if ((viewController.view.hidden==false) && ([duration floatValue]==TIME_FOR_EXPANDING)) {
viewController.view.frame=[[UIScreen mainScreen] bounds];
viewController.view.transform=CGAffineTransformMakeScale(SCALED_DOWN_AMOUNT, SCALED_DOWN_AMOUNT);
}
viewController.view.hidden=false;
if ([duration floatValue]==TIME_FOR_SHRINKING) {
[UIView beginAnimations:@"animationShrink" context:NULL];
[UIView setAnimationDuration:[duration floatValue]];
viewController.view.transform=CGAffineTransformMakeScale(SCALED_DOWN_AMOUNT, SCALED_DOWN_AMOUNT);
}
else {
[UIView beginAnimations:@"animationExpand" context:NULL];
[UIView setAnimationDuration:[duration floatValue]];
viewController.view.transform=CGAffineTransformMakeScale(1, 1);
}
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations];
}
//动画停止
-(void)animationDidStop:(NSString *)animationID finished:(BOOL)finished context:(void *)context{
self.view.userInteractionEnabled=YES;
if ([animationID isEqualToString:@"animationExpand"]) {
UINavigationController *navig = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[self presentModalViewController:navig animated:NO];
}
else {
viewController.view.hidden=true;
}
}
它按照我的要求工作谢谢
在行动中......采取图像视图将其作为子视图添加到您的视图中,加载一系列爆炸图像(或您想要的任何东西)开始动画,当动画从代表完成时将其从超级视图中删除。