1、给图层添加渐变颜色
colors
一个内部是CGColorRef的数组,规定所有的梯度所显示的颜色,默认为nil
locations
一个内部是NSNumber的可选数组,规定所有的颜色梯度的区间范围,选值只能在0到1之间,并且数组的数据必须单增,默认值为nil
endPoint
图层颜色绘制的终点坐标,也就是阶梯图层绘制的结束点,默认值是(0.5,1.0)
startPoint
与endPoint相互对应,就是绘制阶梯图层的起点坐标,绘制颜色的起点,默认值是(0.5,0.0)
type
绘制类型,默认值是kCAGradientLayerAxial,也就是线性绘制,各个颜色阶层直接的变化是线性的
(1)从左到右渐变(横向绘制)
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
//颜色的数组
gradientLayer.colors = @[(__bridge id)[UIColor colorWithRed:76/255.0 green:185/255.0 blue:248/255.0 alpha:1.0].CGColor, (__bridge id)[UIColor colorWithRed:36/255.0 green:161/255.0 blue:237/255.0 alpha:1.0].CGColor];
//
gradientLayer.locations = @[@0.3, @0.5, @1.0];
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(0.5, 0);
gradientLayer.frame = CGRectMake(0, 0, 100, 64);
[self.layer addSublayer:gradientLayer];
从左到右渐变
(2)从上到下(垂直绘制)
将起点和终点的坐标修改即可。(系统默认是垂直绘制)
由上到下gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(0, 0.5);
(3)对角绘制
gradientLayer.startPoint = CGPointMake(0, 1);
gradientLayer.endPoint = CGPointMake(1, 0);
或者
gradientLayer.startPoint = CGPointMake(1, 0);
gradientLayer.endPoint = CGPointMake(0, 1);
2、给图层添加阴影设置
(1)普通图层(没有剪切、未设置圆角)
这种直接使用系统自带的方法即可。
(2)使用剪切过的图层
当图层被剪切过之后,就不能使用layar啦,需要用另一种方法类替换实现。
UIView *shadowView = [[UIView alloc]initWithFrame:需要添加阴影的view.bounds];
shadowView.layer.shadowColor = kUserNameBuleColor.CGColor;
shadowView.layer.shadowOffset = CGSizeMake(0, 0);
shadowView.layer.shadowOpacity = .75;
shadowView.layer.shadowRadius = 5.0;
shadowView.layer.cornerRadius = 5.0;
shadowView.clipsToBounds = NO;
[shadowView addSubview:headerView];
蓝色的阴影
以后会陆续更新......
网友评论