title: why is my animations not working?
body: <p>I have a little blue circle that fades in and out to two different locations until the user touches the screen. Then I want the circle to fade out in the position it is at. </p>
  
  <pre><code>- (void)fadePowerUpOut {
  
      [UIView animateWithDuration:.5 delay:2 options:UIViewAnimationOptionCurveLinear animations:^{//the power up will stay in its position until after 2 seconds it will fade out which is because of the delay
          self.powerUp.alpha=0;
      } completion:^(BOOL finished) {
          if (finished) {//I put if finished here because i don't want this method to be ran if the user touches the screen within the 2 second delay
              if (self.powerUp.frame.origin.x==self.rectPowerUp.origin.x) {//if its in the first location go to the second
                  self.powerUp.frame=self.rectPowerUp2;
  
              }else{//if its in the second location go to the first 
                  self.powerUp.frame=self.rectPowerUp;
              }
              [self fadePowerUpIn];
          }
      }];
  }
  
  - (void)fadePowerUpIn {
      [UIView animateWithDuration:.5 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
          self.powerUp.alpha=1;
      } completion:^(BOOL finished) {
          if (finished) {
                [self FadePowerUpOut];
          }   
      }];
  }
  
  - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  
       [UIView animateWithDuration:.5 delay:0 options:UIViewAnimationCurveLinear|UIViewAnimationOptionBeginFromCurrentState animations:^(){ self.powerUp.alpha=0;} completion:^(BOOL completion){
    }];
  }
  </code></pre>
  
  <p>What is happening is, when the user touches the screen the circle just does not fade out, but only fades out after the 2 seconds (the delay I put on the fadePowerUpOut method).</p>