渐变投影阴影的实现
渐变
渐变层在其背景色上绘制颜色渐变,即是填充层的形状(包括圆角),通俗的来说就是根据shape形状来绘制渐变色
CAgradientLayerLayer *gradientLayer = [CAgradientLayerLayer layer];
/// startPoint与endPoint分别为渐变的起始方向与结束方向,它是以矩形的四个角为基础的,(0,0)为左上角、(1,0)为右上角、(0,1)为左下角、(1,1)为右下角,默认是值是(0.5,0)和(0.5,1)
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(1, 0);
gradientLayer.frame = CGRectMake(0, 0, 100, 100);
/// 渐变点
gradientLayerLayer.locations = @[@(0.7), @(1.0)];
/// 颜色渐变数组
gradientLayer.colors = @[];
[view.layer insertSublayer:gradientLayer atIndex:0];
投影
在 iOS 里实现阴影的方式是使用 UIView 的 layer 属性。
layer 里与阴影有关的设置是以下几个属性:
- shadowPath
- shadowColor
- shadowOpacity
- shadowOffset
- shadowRadius
与 Sketch 里阴影参数的对应关系是:
- shadowPath ~> 阴影的范围
- shadowColor ~> 阴影的颜色
- shadowOpacity ~> 阴影的透明度
- shadowOffset ~> X 和 Y
- shadowRadius ~> 阴影的模糊
///阴影的颜色
view.layer.shadowColor = [UIColor blackColor].CGColor;
///阴影的透明度
view.layer.shadowOpacity = 0.4f;
///阴影的圆角
view.layer.shadowRadius = 4.0f;
///阴影偏移量
view.layer.shadowOffset = CGSizeMake(0,0);//Defaults to (0, -3). Animatable.