title: UIView animateWithDuration ignores duration
body: <p>My goal is simple and I have achieved this previously which is why I'm resorting to asking my question here.</p>
  
  <p>I am trying to animate a subview. Simple enough. The view ends up exactly where I want it to be after the animation is over. The only problem is:
  whatever I do the animation duration is completely ignored. It happens instantly.</p>
  
  <pre><code>- (void)callToDismissView:(UIView *)view {
  
       [self.view addSubview:view];
  
       [self dismissViewControllerAnimated:NO completion:nil];
  
       [UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^(void){
  
           CGRect frame = self.view.frame;
           frame.origin.x = frame.size.width;
           view.frame = frame;
  
       } completion:^(BOOL finished){
  
           [view removeFromSuperview];
       }];
   }
  </code></pre>
  
  <p>Now I have tried different frames and durations to see if the view was animated at all and it always ends up where I need it to be. Only instantly...</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>The above code is being called by a delegate in the dismissed view controller like so:</p>
  
  <pre><code>- (void)dismissSelf {
  
      if (self.delegate &amp;&amp; [self.delegate respondsToSelector:@selector(callToDismissScan)]) {
  
          [self.delegate callToDismissScan];
      }
  }
  </code></pre>
  
  <p>And that method itself is triggered by a notification.</p>
  
  <p>I must admit that some things are happening during the transition between the two controllers that I don't fully understand. (And I would very much like to understand them...)</p>