Tôi có một UIButton ở đây, nơi tôi muốn có một gradient làm nền bên dưới hình ảnh (biểu tượng với nền trong suốt), nhưng tôi phải đối mặt với hai vấn đề khác nhau.UIButton với GradientLayer che khuất hình ảnh và tối màu gradient
Đầu tiên của CAGradientLayer dường như phủ lên trên cùng của hình ảnh bất kể tôi cố gắng thêm nó như thế nào, che khuất hình ảnh hoàn toàn.
Thứ hai, bản thân độ dốc dường như bị tối đi rất nhiều, giống như nút đã bị vô hiệu hóa, không phải vậy.
Dưới đây là mã của tôi:
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];
đẹp giải pháp, nhờ –
Perfect, nhờ – avdyushin