2010-10-16 84 views
0

當用戶導航到不同的視圖並返回到原始視圖時,我希望所有事情都被重置,就好像他們第一次來到視圖一樣。重置視圖

我能夠阻止他們離開時播放的音頻,但不是動畫方法。 我將如何能夠做到這一點?

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

這裏的動畫代碼:

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

感謝您的幫助。

+0

你可以描述動畫的方法是什麼 – Vladimir 2010-10-16 20:22:36

+0

?這是一個簡單的動畫,淡入淡出圖像,問題是,當你離開視圖並返回圖像是可見的,我嘗試了myImage.hidden = YES;在viewDidLoad中,但圖像仍然顯示出來 – hanumanDev 2010-10-16 20:27:36

+0

它真的會幫助如果可以發佈的動畫代碼和你在哪裏使用它 – SegFault 2010-10-16 21:18:41

回答

1

這似乎有點哈克 - 但我會嘗試這個辦法:

  1. 使用「舊式」動畫 - 即不與塊 - 使用「beginAnimation」,創下了animationID的動畫。

  2. 在您viewWillDisappear方法,稱之爲 「beginAnimation」 再次,與相同 animationID,但這一次:

    一個。 b。將動畫持續時間設置爲ZERO b。動畫「到」你想要重新設置的位置。

  3. 設置某種殺標誌在viewWillDisappear方法

  4. 製作完成的功能看,爲「殺標誌」 - 和喚起你的「secondAnimation」標誌,如果內側的第二動畫選擇器是否設置了「kill flag」。

(我有點不清楚 - 如果「已完成」的標誌就足夠了「殺旗」 - 沒有看過你的整個代碼