首页 > 解决方案 > UIView 阴影太定义

问题描述

我正在尝试像这样在 UIView 上制作阴影

在此处输入图像描述

这就是我最终的结果。我结合了 Invision 给我的东西

let layer = UIView(frame: CGRect(x: 8, y: 454, width: 359, height: 100))
layer.layer.shadowOffset = CGSize(width: 0, height: 2)
layer.layer.shadowColor = UIColor(red:0, green:0, blue:0, alpha:0.08).cgColor
layer.layer.shadowOpacity = 1
layer.layer.shadowRadius = 4
self.view.addSubview(layer)

还有一些我在浏览 StackOverflow 时发现的其他代码

Layer.ShadowRadius = 2.0f;
Layer.ShadowColor = UIColor.FromRGBA(0.00f, 0.00f, 0.00f, 0.08f).CGColor;
Layer.ShadowOffset = new CGSize(2, 2);
Layer.ShadowOpacity = 0.80f;
Layer.ShadowPath = UIBezierPath.FromRect(Layer.Bounds).CGPath;
Layer.MasksToBounds = false;

在此处输入图像描述

正如你所看到的,我的影子比 invision 中的影子要明确得多,而且我很难在不花费数小时猜测和检查的情况下找出原因。谁能指出我正确的方向?

标签: iosswiftshadow

解决方案


我绝对会推荐使用更亮的颜色。在你的情况下,它似乎很暗。此外,增加半径可能会导致阴影不太明确,因为它显然会分布在更大的区域上。

要使颜色变亮,只需在此处增加所有三个 rgb 值。如果你想要一个非常浅的阴影,我建议将 rgb 通道设置为 200 左右。(255 产生白色)

layer.layer.shadowColor = UIColor(red:0, green:0, blue:0, alpha:0.08).cgColor

您可以在此处增加半径。

layer.layer.shadowRadius = 4

推荐阅读