title: changing Core Animation duration on ViewDidAppear doesn't seem to work
body: <p>I'm trying to have the iPad splash screen fade out to reveal my app's main interface over 2 secs. The main interface is my main view controller and view, inside a navigation controller. </p>
  
  <p>So I did the following:</p>
  
  <p>UINavigationController with my root view controller.
  root view controller has its interface all laid out and, as a last step, a CALayer with the same png used for the splash screen covering the interface.</p>
  
  <p>The idea is that once the real splash screen is gone, there's still the CALayer. And then I fade the CAlayer out to reveal the interface. It kind of works: the fade happens, but no matter what duration I set for the animation, it still happens too fast. </p>
  
  <p>Here's the code: (logoLayer is an ivar and mainCanvas is a container view inside self.view, in which I insert most subviews -- for other screen-dim-type effects.)</p>
  
  <pre><code>- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
  {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) 
    {
          // Custom initialization
  
      self.view.layer.backgroundColor = [UIColor clearColor].CGColor;
      [self setLayerContent:[[NSBundle mainBundle] pathForResource:@"interfaceBackground" ofType:@"png"]];
      [self layoutNavigationButtonWithResource:@"button1" glowing:YES forAction:@"biblioteca"];
      [self layoutNavigationButtonWithResource:@"button2"glowing:YES forAction:@"portfolio"];
  
      NSString *logoPath = [[NSBundle mainBundle] pathForResource:@"Default-Portrait~ipad" ofType:@"png"];
      UIImage *image = [UIImage imageWithContentsOfFile:logoPath];
      logoLayer = [[CALayer layer] retain];
      logoLayer.contents = (id)image.CGImage;
      logoLayer.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
      logoLayer.anchorPoint = CGPointMake(0, 0);
      logoLayer.opacity = 1;
      [mainCanvas.layer addSublayer:logoLayer];
    }
  
    return self;
  }
  
  - (void)viewDidAppear:(BOOL)animated
  {
    [super viewDidAppear:animated];
    [self performSelector:@selector(fadeOutLogo) withObject:nil afterDelay:0.1];
  }
  
  - (void)fadeOutLogo
  {
    CABasicAnimation *a = [CABasicAnimation animation];
    a.duration = 10;
    [logoLayer addAnimation:a forKey:@"opacity"];
    [logoLayer setOpacity:0];
  }
  </code></pre>
  
  <p>Notice I even delayed the call to the animation code just in case. And I also ended up with a value of 10sec. which is absurd for a fade. Still... the fade happens in about 0.2 secs.</p>
  
  <p>Any thoughts?</p>