Ho un UIButton qui dove mi piacerebbe avere un gradiente come sfondo sotto l'immagine (simbolo con sfondo trasparente), ma sto affrontando due problemi diversi.UIButton con GradientLayer oscura l'immagine e oscura il gradiente
Il primo CAGradientLayer sembra sovrapporsi all'immagine, non importa quanto cerco di aggiungerlo, oscurando completamente l'immagine.
In secondo luogo, il gradiente in sé sembra essere molto oscurato, come il pulsante disabilitato, che non lo è.
Ecco il mio codice:
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];
bella soluzione, grazie –
Perfetto, grazie – avdyushin