title: UIButton with GradientLayer obscures image and darkens gradient
body: <p>I have an UIButton here where I'd like to have a gradient as the background below the image (symbol with transparent background), but I'm facing two different problems.</p>
  
  <p>First of the CAGradientLayer seems to overlay on top of the image no matter how I try to add it, obscuring the image completely.</p>
  
  <p>Secondly the gradient itself seems to be darkened a lot, like the button was disabled, which it isn't.</p>
  
  <p>Here's my code:</p>
  
  <pre><code>self.backButton = [[UIButton alloc] initWithFrame:CGRectMake(15, 35, 28, 28)];
  [backButton addTarget:self
                 action:@selector(goBack)
       forControlEvents:UIControlEventTouchUpInside];
  [backButton setBackgroundColor:[UIColor clearColor]];
  CAGradientLayer *buttonGradient = [CAGradientLayer layer];
  buttonGradient.frame = backButton.bounds;
  buttonGradient.colors = [NSArray arrayWithObjects:
                           (id)[[UIColor colorWithRed:.0
                                                green:.166
                                                 blue:.255
                                                alpha:1] CGColor], 
                           (id)[[UIColor colorWithRed:.0
                                                green:.113
                                                 blue:.255
                                                alpha:1] CGColor], 
                           nil];
  [buttonGradient setCornerRadius:backButton.frame.size.width / 2];
  [backButton.layer insertSublayer:buttonGradient
                           atIndex:0];
  [backButton setImage:[UIImage imageNamed:@"backarrow.png"]
              forState:UIControlStateNormal];
  [backButton setEnabled:NO];
  [topbarView addSubview:backButton];
  </code></pre>