CALayer图层类

//CALayer图层类

//和UIView用法类似

//创建图层类对象

//    CALayer *layer = [[CALayer alloc] init];

//    MyColorRef color = [UIColor cyanColor];

//    layer.backgroundColor = color.CGColor;

//    layer.frame = CGRectMake(100, 100, 100, 100);

//    [self.view.layer addSublayer:layer];

//基本图层

CALayer *myLayer = [CALayer layer];

myLayer.backgroundColor= [UIColor orangeColor].CGColor;

myLayer.frame=CGRectMake(100, 100, 100, 100);

//边框

{

//边框宽度

myLayer.borderWidth = 5;

//边框颜色

myLayer.borderColor= [UIColor greenColor].CGColor;

}

//阴影

{

//颜色

myLayer.shadowColor= [UIColor redColor].CGColor;

//阴影偏移

myLayer.shadowOffset = CGSizeMake(1, 1);

//圆角

myLayer.shadowRadius = 10;

//图透明度

myLayer.shadowOpacity = 0.7;

}

//阴影路径

{

CGMutablePathRef path = CGPathCreateMutable();

const CGAffineTransform transform = CGAffineTransformIdentity;

CGPathAddEllipseInRect(path, &transform,CGRectMake(-5, -5, 110, 110));

myLayer.shadowPath= path;

//释放

CGPathRelease(path);

}

//圆角半径

myLayer.cornerRadius = 50;

//不透明度浑浊

myLayer.opacity= 0.6;

//溢出(在边框范围内显示)阴影消失

myLayer.masksToBounds = YES;

//位置默认的position是自身的中心点

CGPoint position = myLayer.position;

NSLog(@"%@",NSStringFromCGPoint(position));

//往左上移动

//    myLayer.position = CGPointMake(100, 100);

//锚点

CGPoint anchorPoint = myLayer.anchorPoint;

NSLog(@"%@",NSStringFromCGPoint(anchorPoint));

myLayer.anchorPoint=CGPointMake(0, 0);

//求在父视图中的坐标点(origin)

//    x = position.x - anchorPoint.x * self.width

//    y = position.y - anchorPoint.y * self.height

//内容

{

UIImage *image =[UIImage imageNamed:@"8.jpg"];

myLayer.contents= (id)image.CGImage;

}

//添加到父图层上

[self.view.layer addSublayer:myLayer];

//文字图层

CATextLayer *textLayer = [CATextLayer layer];

textLayer.frame = CGRectMake(40, 300, 200, 200);

textLayer.backgroundColor = [UIColor cyanColor].CGColor;

textLayer.string = @"这是一个文字图层这是一个文字图层这是一个文字图层这是一个文字图层这是一个文字图层";

//前景色(文字的颜色)

textLayer.foregroundColor = [UIColor redColor].CGColor;

//对齐

textLayer.alignmentMode = kCAAlignmentCenter;

//换行注意高度

textLayer.wrapped=YES;

//设置字体大小

textLayer.fontSize = 24;

[self.view.layer addSublayer:textLayer];

//渐变图层

CAGradientLayer *gradientLayer = [CAGradientLayerlayer];

gradientLayer.frame = self.view.frame;

//渐变颜色数组

//.CGColor必须写不然不显色

gradientLayer.colors= @[(id)[UIColor redColor].CGColor,(id)[UIColor greenColor].CGColor,(id)[UIColor blueColor].CGColor];

//从什么地方开始变色渐变的位置一段一段

gradientLayer.locations = @[@0.3,@0.6,@0.8];

//kCAGradientLayerAxial线性渐变

gradientLayer.type = kCAGradientLayerAxial;

//渐变左上往右下0--1

//开始点

gradientLayer.startPoint = CGPointMake(0,0);

//结束点

gradientLayer.endPoint = CGPointMake(1,1);

//[self.view.layer addSublayer:gradientLayer];

//插入图层层次

[self.view.layer insertSublayer:gradientLayer below:myLayer];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,551评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,141评论 5 13
  • 前言:关于贝塞尔曲线与CAShapeLayer的学习 学习Demo演示: 贝塞尔曲线简单了解 使用UIBezier...
    麦穗0615阅读 17,908评论 18 149
  • Core Animation Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,...
    45b645c5912e阅读 3,049评论 0 21
  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 6,289评论 0 13