Как добавить CAGradientLayer в UIButton

Я пытаюсь изменить внешний вид кнопки и долгое время пытался выяснить, почему я не могу применить к нему градиент, как с помощью этого простого кода ниже:

[self.playButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; self.playButton.backgroundColor = [UIColor blackColor]; CAGradientLayer *gradient = [[CAGradientLayer alloc] init]; gradient.frame = self.playButton.bounds; gradient.position = CGPointMake(self.playButton.bounds.size.width/2, self.playButton.bounds.size.height/2); gradient.colors = [NSArray arrayWithObjects: (id)[UIColor greenColor].CGColor, (id)[UIColor redColor].CGColor, nil]; gradient.locations = [NSArray arrayWithObjects: [NSNumber numberWithFloat:0.0f], [NSNumber numberWithFloat:1.0f], nil]; [self.playButton.layer addSublayer:gradient]; 

Он выполняется, но ничего не происходит. Я знаю, что код должен работать, потому что многие другие используют его и, когда меняют self.playButton чтобы сказать self.view тогда он добавляет красивый красно-зеленый градиентный слой в UIView .

Возможно, стоит отметить, что пользовательская кнопка определяется как IBOutlet :

 @property (weak, nonatomic) IBOutlet UIButton *playButton; 

Любая помощь приветствуется.

ОБНОВЛЕНИЕ И ИСПРАВЛЕНИЕ

При смене кнопки для использования масштабируемого изображения вместо градиента я забыл перекомпоновать код градиента (после попытки идеи rokjarc ) и при изменении UIViewContentModeScaleToFill изображенияView.content на UIViewContentModeScaleToFill отображаемый градиент …

 self.playButton.imageView.contentMode = UIViewContentModeScaleToFill; 

Так что спасибо rokjarc, я полагаю: D

One Solution collect form web for “Как добавить CAGradientLayer в UIButton”

Просто измените

 self.playButton.backgroundColor = [UIColor blackColor]; 

в

 self.playButton.backgroundColor = [UIColor clearColor]; 

Просто протестирован и работает.

  • Какой порядок срабатывает при двух вызовах IBActions при вызове из одного и того же компонента?
  • Xcode: сделать клик по ярлыкам
  • UIButton - Как установить минимальный размер шрифта?
  • Добавить событие click для некоторого текста в ios NSString
  • UIButton titleLabel не вертикально центрируется при использовании minimumScaleFactor
  • Изменение текста UIButton программно быстро
  • UIBarButtonItem с закругленными углами и тенью
  • Кнопки сгруппированы по UIButton
  • Ошибка приложения в UIButtonLabel defaultAttributes
  • UIButton Фоновое изображение Изменение программно
  • Заголовок моей кнопкиLabel станет «...» на iOS10
  • Interesting Posts

    React Native running app на устройстве без сервера

    Основы iOS iPhone MVC

    iOS – Какова процедура обновления профиля инициализации в Xcode

    requestInterstitialAdPresentation Работает только один раз

    IBInspectable в xamarin

    Xcode архивирует несколько методов с именем setScale: найден

    Как программно открыть страницу подписки приложения App Store?

    Как сравнить типы жестов в iOS?

    Невозможно обработать проверку данных info.plist приложения в это время из-за общей ошибки (1095)

    iOS / iPhone – Silent-переключатель не работает после добавления AVCaptureAudioDataOutput в AVCaptureSession

    Получение уведомлений Push в фоновом режиме

    Как использовать самоподписанный сертификат SSL при разработке с помощью Trigger.io?

    Изменить цвет фона фонового звука блокировки?

    ожидается, что приложения будут иметь консоль контроллера корневого представления

    Как я могу программно уволить / отключить всплывающее окно, которое было введено в iOS 11?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.