所有4面的UIButton阴影

Fah*_*kar 3 objective-c shadow uibutton ios8

我正在尝试为UIButton生成阴影.

以下是我正在使用的内容.

myButton.layer.shadowColor = [UIColor blackColor].CGColor;
myButton.layer.shadowOpacity = 0.5;
myButton.layer.shadowRadius = 1;
myButton.layer.shadowOffset = CGSizeMake(4, 4);
myButton.layer.masksToBounds = NO;
Run Code Online (Sandbox Code Playgroud)

但它在右边和底部产生阴影.

有没有办法在四面都有阴影?

作为另一种解决方案,我通过在按钮后面放置带阴影的图像来做到这一点,但我不想那样做.

有没有办法以编程方式完成这项工作?

像下面的东西.

在此输入图像描述

Cyr*_*lle 8

由于阴影偏移{4, 4}阴影出现在按钮的右下方.您可以设置零偏移:

myButton.layer.shadowOffset = CGSizeZero
Run Code Online (Sandbox Code Playgroud)

通过调整shadowRadius你可能会实现你想要的.

以下是阴影的构建方式:

(第1行)从按钮的形状开始

(第2行)在按钮下面绘制一个黑色形状并将其转换shadowOffset为左侧的10px,右侧的0px中指定的量.在右侧,您无法看到黑色矩形,因为它直接位于按钮下方

(第3行)按指定的量模糊黑色矩形blurRadius.零意味着没有模糊,黑色矩形会保持清晰,所以如果你不偏移并且不模糊,你什么也看不见.

在此输入图像描述