ios - 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 中的影子要明确得多,而且我很难在不花费数小时猜测和检查的情况下找出原因。谁能指出我正确的方向?
解决方案
我绝对会推荐使用更亮的颜色。在你的情况下,它似乎很暗。此外,增加半径可能会导致阴影不太明确,因为它显然会分布在更大的区域上。
要使颜色变亮,只需在此处增加所有三个 rgb 值。如果你想要一个非常浅的阴影,我建议将 rgb 通道设置为 200 左右。(255 产生白色)
layer.layer.shadowColor = UIColor(red:0, green:0, blue:0, alpha:0.08).cgColor
您可以在此处增加半径。
layer.layer.shadowRadius = 4
推荐阅读
- amazon-web-services - 使用 aws sdk 在 EC2 实例上启动和安装应用程序
- c++ - 让一个对象合并两个函数并将它们作为回调传递?(C++)
- bash - 使用相对路径查找 -exec mv
- python-3.x - Django REST API AttributeError - 序列化器字段可能命名不正确,并且与“列表”实例上的任何属性或键不匹配
- apache-spark - Hive 和 Spark 之间的执行差异
- firebase - 参数类型'列表
' 不能分配给参数类型 'List - python - 如何读取类的 __init__ 方法中存在的文档字符串?
- sql - 用一次计算表中的记录数
- python-3.x - 与 python 中的另一个脚本共享实时数据源
- python - 如何将我的本地 azure automl python sdk 版本与远程版本匹配?