我正在尝试为 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;
但它会在右侧和底部产生阴影。
有没有办法让我在所有 4 个边上都有阴影?
作为另一种解决方案,我通过在按钮后面放置带阴影的图像来实现此目的,但我不想那样做。
有没有办法以编程方式完成此操作?
类似下面的内容。
最佳答案
由于您将阴影偏移 {4, 4}
,因此阴影出现在按钮的右下角。您可以设置零偏移量:
myButton.layer.shadowOffset = CGSizeZero
并通过调整 shadowRadius
您可能会达到您想要的效果。
下面是阴影的构建方式:
(第一行)从按钮的形状开始
(第 2 行)在按钮下方绘制一个黑色形状,并将其平移到 shadowOffset
中指定的量:左侧 10px,右侧 0px。在右侧,您看不到黑色矩形,因为它就在按钮的正下方
(第 3 行)按照 blurRadius
中指定的量模糊黑色矩形。零意味着没有模糊,黑色矩形会保持清晰,所以如果你不偏移也不模糊,你将什么也看不到。
关于objective-c - UIButton 阴影在所有 4 个面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27038559/