CAShaperLayer的简单应用

最近又在弄拼图这个功能,在实现起来时还有一些细节上的问题没有更好的把握住,因而再次温习一下这个类,首先我们需要讨论的是,什么是CAShaperLayer?
1、什么是CAShaperLayer?
CAShaperLayer就是一个继承与CALayer的具有具体形状,比如说圆形、三角形、正方形等等各种不同形状的Layer,而所谓的layer就是图层,图层就是用来渲染界面的基础。
2、CAShaperLayer的作用?
CAShaperLayer也就是在现有的图层上再次添加或覆盖一层以达到界面在显示时会呈现出不同形状的效果。比如说拼图。而显示出不同的形状是需要用UIBezierPath来划的,下面简单举两个例子。
3、CAShaperLayer的应用?
多的不说,直接上我的代码:

// 利用UIBezierPath来划出不同的方式
    UIBezierPath *path = [UIBezierPath bezierPath];
    path.lineWidth = 1;
    path.lineCapStyle = kCGLineCapRound;
    path.lineJoinStyle = kCGLineJoinRound;
    // 第一个点(起点)
    [path moveToPoint:CGPointZero];
    // 第二个点的位置为宽度的一半
    CGFloat moveOneX = contentView.width * 0.5;
    // 第二个点
    CGPoint moveOne = CGPointMake(moveOneX, 0);
    [path addLineToPoint:moveOne];
    // 第三个点的位置为宽度的4分之一,Y为整高
    CGFloat moveTwoX = contentView.width * 0.25;
    CGFloat moveHeight = contentView.height;
    // 第三个点
    CGPoint moveTwo = CGPointMake(moveTwoX, moveHeight);
    [path addLineToPoint:moveTwo];
    
    CGPoint moveThree = CGPointMake(0, moveHeight);
    [path addLineToPoint:moveThree];
    // 结束划线
    [path closePath];
    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.path = path.CGPath;
    // maskLayer的填充颜色
//    maskLayer.fillColor = [UIColor redColor].CGColor;
    maskLayer.lineWidth = 1;
    // mask是指在图层上盖一层看不见的图片,除path之外
    contentView.layer.mask = maskLayer;
    // 在图层上添加图层
//    [contentView.layer addSublayer:maskLayer];

还有一些其他人博客上的例子,下面这个是比较经典的,我就只列举他一个人的:
http://blog.csdn.net/yongyinmg/article/details/38755955

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,727评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,550评论 5 13
  • 前言 本文只要描述了iOS中的Core Animation(核心动画:隐式动画、显示动画)、贝塞尔曲线、UIVie...
    GitHubPorter阅读 9,018评论 7 11
  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 11,515评论 0 13
  • 书写的很好,翻译的也棒!感谢译者,感谢感谢! iOS-Core-Animation-Advanced-Techni...
    钱嘘嘘阅读 6,897评论 0 6

友情链接更多精彩内容