Если ваша кнопка имеет тип UIButtonTypeRoundedRect
вместо UIButtonTypeCustom
, настройка цвета фона на слое не работает.
Попробуй, у меня все работает.
UIButton *myButton = [UIButton buttonWithType: UIButtonTypeRoundedRect];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.buttonAddToOrder.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor], (id)[[UIColor redColor] CGColor], nil];
gradient.cornerRadius = 10;
[myButton.layer insertSublayer:gradient atIndex:0];
Надеюсь, это поможет.