2010-10-16 4 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

+0

? это простая анимация, которая исчезает из-за изображения. Проблема заключается в том, что когда вы покидаете представление и возвращаете изображение, оно видимо. Я попробовал myImage.hidden = YES; в viewDidLoad, но изображение все еще отображается. – hanumanDev

+0

Это действительно помогите, если бы мог опубликовать код анимации и где вы его используете – SegFault

ответ

1

Это кажется немного Hacky, - но я хотел бы попробовать это:

  1. Используйте «старый стиль» анимации - то есть не с блоками - используйте «beginAnimation», установив animationID для анимации.

  2. В вас viewWillDisappear метод называют "beginAnimation" снова с же animationID, но на этот раз:

    а. Установите продолжительность анимации в ZERO b. Анимируйте «в» место, куда вы хотите сбросить материал.

  3. Установить какую-то убить-флаг в методе viewWillDisappear

  4. сделать функцию завершения искать «убить флаг» - и не вызвать вторую анимацию внутри «secondAnimation» флаг, если если установлен флаг «kill».

(я немного непонятно - если «закончил» флаг будет достаточно для «убить-флаг». - не видев ваш весь код