我正在尝试为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;
但它在右下方产生阴影。
我可以在四面都有阴影吗?
作为另一种解决方案,我通过在按钮后面放置带阴影的图像来做到这一点,但我不想这样做。
有没有办法以编程方式完成这项工作?
如下所示。
答案 0 :(得分:8)
由于您将阴影偏移{4, 4}
,因此阴影会出现在按钮的右下方。您可以设置零偏移:
myButton.layer.shadowOffset = CGSizeZero
通过调整shadowRadius
你可能会达到你想要的效果。
以下是阴影的构建方式:
(第1行)从按钮的形状开始
(第2行)在按钮下方绘制一个黑色形状,并将其翻译为shadowOffset
中指定的数量:左侧为10px,右侧为0px。在右侧,您无法看到黑色矩形,因为它直接位于按钮
(第3行)按照blurRadius
中指定的量模糊黑色矩形。零意味着没有模糊,黑色矩形会保持清晰,所以如果你没有偏移而不模糊,你什么也看不见。