Tengo un UIButton aquí donde me gustaría tener un degradado como fondo debajo de la imagen (símbolo con fondo transparente), pero estoy enfrentando dos problemas diferentes.UIButton with GradientLayer oscurece la imagen y oscurece el degradado
Primero de CAGradientLayer parece superponerse en la parte superior de la imagen sin importar cómo intente agregarla, oscureciendo la imagen por completo.
En segundo lugar, el degradado en sí parece oscurecerse mucho, al igual que el botón se deshabilitó, que no lo es.
Aquí está mi código:
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];
solución de Niza, gracias –
perfectos, gracias – avdyushin