zoukankan      html  css  js  c++  java
  • iOS界面上方的纸飞飞代码(撕掉纸张留下的头)

    效果实现代码:

    - (CAShapeLayer *)tornPaperLayerWithHeight:(CGFloat)height{
        CGFloat width = MAX(CGRectGetWidth([[UIScreen mainScreen] bounds]), CGRectGetHeight([[UIScreen mainScreen] bounds]));
        CGFloat overshoot = 4;
        CGFloat maxY = height-overshoot;
        UIBezierPath *bezierPath = [UIBezierPath bezierPath];
        [bezierPath moveToPoint: CGPointMake(-overshoot, 0)];
        CGFloat x = -overshoot;
        CGFloat y = arc4random_uniform(maxY);
        [bezierPath addLineToPoint: CGPointMake(-overshoot, y)];
        while(x < width+overshoot){
            y = MAX(maxY-3, arc4random_uniform(maxY));
            x += MAX(4.5, arc4random_uniform(12.5));
            [bezierPath addLineToPoint: CGPointMake(x, y)];
        }
        y = arc4random_uniform(maxY);
        [bezierPath addLineToPoint: CGPointMake(width+overshoot, y)];
        [bezierPath addLineToPoint: CGPointMake(width+overshoot, 0)];
        [bezierPath addLineToPoint: CGPointMake(-overshoot, 0)];
        [bezierPath closePath];
    
        CAShapeLayer *shapeLayer = [CAShapeLayer layer];
        shapeLayer.fillColor = [self.paperBackgroundColor CGColor];
        shapeLayer.shadowColor = [[UIColor blackColor] CGColor];
        shapeLayer.shadowOffset = CGSizeMake(0, 0);
        shapeLayer.shadowOpacity = 0.5;
        shapeLayer.shadowRadius = 1.5;
        shapeLayer.shadowPath = [bezierPath CGPath];
        shapeLayer.path = [bezierPath CGPath];
        return shapeLayer;
    }

    使用代码:

        [self.layer addSublayer:[self tornPaperLayerWithHeight:12]];
        [self.layer addSublayer:[self tornPaperLayerWithHeight:9]];
  • 相关阅读:
    eclipse文件编辑器相关概念
    Oracle ROLLUP和CUBE 用法
    eclipse插件开发常用的选择器
    oracle多cpu并行查询
    MYECLISE6.5下CDT安装
    oracle SAMPLE 语法应用
    常用的gcc命令
    vbscript获取本机的ip地址和mac地址
    什么是Single Sign On
    eclipse插件开发中全局对象的获取
  • 原文地址:https://www.cnblogs.com/klaus/p/3036803.html
Copyright © 2011-2022 走看看