2010-10-16 4 views
0

Lorsque l'utilisateur accède à une vue différente et revient à l'affichage d'origine, je souhaite que tout soit réinitialisé comme s'il venait à la vue pour la première fois.Réinitialisation d'une vue

J'ai été en mesure d'arrêter la lecture de l'audio lorsqu'ils partaient, mais pas une méthode d'animation. comment pourrais-je faire cela?

-(void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
     [audioIntro stop]; 
     [mainAudio stop]; 
} 

est ici le code d'animation:

- (void) firstAnimation { 

     if (playSoundButton.enabled = NO || audioIntro.playing) { 
       return; 
     } 

     UIViewAnimationOptions options = UIViewAnimationOptionCurveLinear; 
     myImage.hidden = NO; 
     myImage.alpha = 1.0; 

     [UIView animateWithDuration:1.0 delay:12.0 options:options animations:^ 
     { 
      setAnimationBeginsFromCurrentState:YES; 

       tapImage.alpha = 0.0; 

     } 

       completion:^(BOOL finished){ 


     [self performSelector:@selector(secondAnimation) withObject:nil afterDelay:0.2]; 
     } 
     ]; 
} 

Merci pour toute aide.

+0

Pourriez-vous décrire ce que cette méthode d'animation est – Vladimir

+0

? c'est une simple animation qui fait fondre une image en dedans et en dehors, le problème est que lorsque vous quittez la vue et que vous retournez, l'image est visible.j'ai essayé myImage.hidden = YES; dans le viewDidLoad mais l'image apparaît toujours – hanumanDev

+0

help, si vous pouviez poster le code de l'animation et où vous l'utilisiez – SegFault

Répondre

1

Il semble un peu hacky - mais je voudrais essayer ceci:

  1. Utilisez l'animation "de style ancien" - à savoir non avec des blocs - utiliser "BeginAnimation", la fixation d'un animationID pour votre animation.

  2. En vous viewWillDisappear méthode, appelez "BeginAnimation" à nouveau, avec le même animationID, mais cette fois-ci:

    a. Réglez la durée de l'animation sur ZERO b. Animez "à" l'endroit où vous voulez que les choses se réinitialisent.

  3. Définir une sorte de kill-drapeau dans la méthode viewWillDisappear

  4. Faire le regard de la fonction d'achèvement pour le « tuer drapeau » - et ne pas évoquent la deuxième animation dans votre drapeau « secondAnimation » si la sélecteur si le "kill flag" est défini.

(je suis un peu clair - si le « fini » drapeau suffirait pour le « kill-drapeau. » - ne pas avoir vu votre code entier

Questions connexes