全方位的阴影

我一直在寻找一种方法来设置图层的shadow属性,如下所示: 在这里输入图像说明

其中浅蓝色是图层 – 本例中为UIImageView ,深蓝色为阴影。

我想要阴影做事情:

  • 出现在所有四个方面:通过将shadowOffset设置为CGSizeMake(0.0, 0.0)并使shadowRadius非零
  • 完全不透明:通过将shadowOffset设置为shadowOffset中的特定点并将shadowRadius设置为零来完成

我已经有了shadowOpacity设置为零,但我找不到一个方法来做这两个。 例如,如果我有:

 imageView.layer.shadowColor = UIColor.orangeColor().CGColor imageView.layer.shadowOffset = CGSizeMake(4.0 , 4.0) imageView.layer.shadowOpacity = 1; imageView.layer.shadowRadius = 0 imageView.layer.masksToBounds = false 

我在双方都得到了一个稳固的影子。 如果我想要阴​​影在四面,我将shadowOffset更改为一个特定的大小和shadowRadius大于零的东西,但它不是固定的。

另一种select是使用borderWidthborderColor 。 请记住,正如文档中提到的,边框是图层边界绘制的,而不是向外扩展,所以您可能需要适当调整其大小。

(根据您的使用情况,您可能会考虑使用带有插图的UIImageView制作可伸缩图像,如果图层被resize,可能会有不同的性能特征。