美文网首页
CAShaperLayer的简单应用

CAShaperLayer的简单应用

作者: 懒惰的习惯 | 来源:发表于2016-01-12 09:43 被阅读510次

最近又在弄拼图这个功能,在实现起来时还有一些细节上的问题没有更好的把握住,因而再次温习一下这个类,首先我们需要讨论的是,什么是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

相关文章

  • CAShaperLayer的简单应用

    最近又在弄拼图这个功能,在实现起来时还有一些细节上的问题没有更好的把握住,因而再次温习一下这个类,首先我们需要讨论...

  • CAShapeLayer两个简单的应用

    1. CAShaperLayer 先简单的介绍下CAShapeLayer CAShapeLayer继承自CALay...

  • CAShapeLayer和BezierPath的简单使用

    1. CAShaperLayer CAShaperLayer是CALayer的子类,但是比CALayer更灵活,可...

  • iOS绘制一个简单的环形进度条

    环形进度条 一个简单的环形进度组件。 用UIBezierPath + CAShaperLayer绘制 1、由于使用...

  • CAShaperLayer(三)

    本篇实现一个两个按钮之间点击动画的实现。主要效果见下图: 这个实现主要是点击按钮的时候要做的处理为: 1、点击两个...

  • CAShaperLayer(一)

    CAShaper主要用于绘图,类似于直线、曲线、各种图形、贝塞尔曲线、虚线等等。下面主要介绍几个常用的绘图 Git...

  • iOS开发 -- 指定位置设置圆角

    使用CAShaperLayer和UIBezier可解。corners参数可选:corners:UIRectCorn...

  • CAShaperLayer的BezierPath动画

    在做业务需求的通常会有一些异形图片,我们通常会使用CAShaperLayer来绘制这些图形,因为他比较简单且易维护...

  • #OC中CAShaperLayer的使用

    关于OC的转场动画,大家都做的挺多的了。今天我分享一个不常见的动画,能实现和咕咚里面地图的弹出相同的效果。 在Vi...

  • 绘制波浪正弦曲线

    iOS绘制波浪,具体来说就是结合CAShaperLayer、UIBezierPath进行一个高性能的绘制。前文已经...

网友评论

      本文标题:CAShaperLayer的简单应用

      本文链接:https://www.haomeiwen.com/subject/wjxckttx.html