Круглая кнопка с рамкой и тенью - PullRequest
0 голосов
/ 04 июня 2019

enter image description here

Как лучше всего создать такую ​​кнопку, как на изображении? Я попробовал:

            self.button.layer.shadowColor = UIColor.redColor.CGColor;
            self.button.layer.shadowRadius = 30.0f;
            self.button.layer.shadowOpacity = 1.0f;
            self.button.layer.shadowOffset = CGSizeMake(0.0f, 30.0f);
            self.button.clipsToBounds = NO;

            [self.button setNeedsDisplay];

Но это просто добавляет небольшую очень размытую тень совсем не так, как на картинке.

1 Ответ

0 голосов
/ 04 июня 2019

Эй @ user426132 установить UIbutton фоновое изображение и попробуйте этот код

Для Объектив-с

self.button.layer.cornerRadius = self.button.frame.size.width / 2;
self.button.layer.masksToBounds = false;
self.button.layer.shadowColor = UIColor.grayColor.CGColor;
self.button.layer.shadowOpacity = 1.0;
self.button.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
self.button.layer.shadowRadius = 10;
self.button.layer.shouldRasterize = true;
self.button.layer.rasterizationScale = UIScreen.mainScreen.scale;

Для Swift 4,2

    self.btnShadow.layer.cornerRadius =  self.btnShadow.frame.size.width / 2
    self.btnShadow.layer.masksToBounds = false
    self.btnShadow.layer.shadowColor = UIColor.black.cgColor
    self.btnShadow.layer.shadowOpacity = 1.0
    self.btnShadow.layer.shadowOffset = CGSize(width: 0, height: 0)
    self.btnShadow.layer.shadowRadius = 10
    self.btnShadow.layer.shouldRasterize = true
    self.btnShadow.layer.rasterizationScale = UIScreen.main.scale

Вывод здесь enter image description here с черным крестом - изображение

...