2010-12-08 9 views
0

Ich brauche explode-Effekt, wenn die Ansicht ändern, d. H. Animation explodieren, wenn ich zur nächsten Ansicht gehe. Ich fand diese Art der Animation in Facebook-App, wenn das Symbol im Armaturenbrett klickenWie erstellt man den Explosionseffekt der UIView?

bitte helfen Sie mir

Antwort

1

hai beendete ich die explodieren sehen dies ist mein Code Dank für Ihre Hilfe

// Click-Ereignis für die Ansicht explodieren

-(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]]; 
} 

// Transition animieren

-(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]; 
} 

// animiert stop

-(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; 
} 
} 

seine Arbeit wie von mir verlangen Dank

0

Auf Aktion ... nehmen Sie einen View-Bild fügen Sie es als Subview Ihrer Ansicht nach Last mit Reihe von Bildern der Explosion (oder etwas, was Sie wollen) starten Sie es animieren, wenn die Animation von der Delegierten beendet es aus Superview entfernen.

Verwandte Themen