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]];
  • 相关阅读:
    Centos查看tomcat状态及操作
    python实现文件下载
    python深浅copy
    linux下jenkins实现自动化部署
    Linux下Java的安装
    通过filezilla将windows文件上传到linux中
    jmeter性能测试实现分布式
    性能测试-JMeter ServerAgent服务器资源监控
    vscode折叠/展开所有区域代码快捷键
    Linux的tar压缩解压缩命令
  • 原文地址:https://www.cnblogs.com/klaus/p/3036803.html
Copyright © 2011-2022 走看看