Mam UIButton tutaj, gdzie chciałbym mieć gradient jako tło pod obrazem (symbol z przezroczystym tłem), ale mam do czynienia z dwoma różnymi problemami.UIButton z GradientLayer zaciemnia obraz i przyciemnia gradient
Pierwszy z CAGradientLayer wydaje się nakładać na obraz bez względu na to, jak próbuję go dodać, całkowicie zasłaniając obraz.
Po drugie, sam gradient wydaje się być mocno zaciemniony, podobnie jak przycisk został wyłączony, a nim nie jest.
Oto mój kod:
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];
Nicea rozwiązania, dzięki –
doskonały, dzięki – avdyushin