For some reason I have a black underlay under my round rect buttons. This only happens with the round rect buttons that are over a custom UIView. I have the Custom UIView to make borders based on my clients design specs. If I remove the custom UIView (imgView3), then the buttons work fine. Also, after a brief period of time the black underlay disappears. Here is my code, I add in the buttons programmatically just to stay consistent but it also happens when I add the buttons via storyboard as well.
UIImageView *imgView3 = [[UIImageView alloc] initWithFrame:CGRectMake(409, 129, 361, 217)];
// Get the Layer of any view
l = [imgView3 layer];
[l setMasksToBounds:YES];
[l setCornerRadius:10.0];
// You can even add a border
[l setBorderWidth:1];
[l setBorderColor:[[UIColor blackColor] CGColor]];
l.shadowOffset = CGSizeMake(0, 3);
l.shadowRadius = 5.0;
l.shadowColor = [UIColor blackColor].CGColor;
l.shadowOpacity = 0.8;
[l setBorderColor:[[UIColor blackColor] CGColor]];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"North" forState:UIControlStateNormal];
button.frame = CGRectMake(545, 161, 90, 53);
[imgView3 addSubview:button];
[self.view addSubview: imgView3]
Heres an image of what I’m speaking of:

Have you tried setting the Background Color of your button to Clear Color in the button’s Attributes Inspector?