• 点击动画


    #import "ViewController.h"

    #import "SDmoreCircle.h"

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

    //    背景色

        self.view.backgroundColor=[UIColor lightGrayColor];

        

        [self.view addSubview:[SDmoreCircle ViewWithCircle:self.view.frame]];

        

    }

    #import <UIKit/UIKit.h>

    @interface SDmoreCircle : UIView

    //

    +(instancetype)ViewWithCircle:(CGRect)rect;

    -(instancetype)initWithFrame:(CGRect)frame;

    @end

    #import "SDmoreCircle.h"

    @implementation SDmoreCircle

    +(instancetype)ViewWithCircle:(CGRect)rect

    {

        return [[self alloc]initWithFrame:rect];

    }

    -(instancetype)initWithFrame:(CGRect)frame

    {

        return [super initWithFrame:frame];

    }

    -(void)creatCircle:(NSSet *)touches

    {

        UITouch *touch=[touches anyObject];

        CGPoint point=[touch locationInView:self];

        

        CALayer *layer=[CALayer layer];

        layer.frame=CGRectMake(point.x-1, point.y-1, 10, 10);

        layer.borderColor=[UIColor colorWithRed:arc4random()%255/256.0 green:arc4random()%255/255.0 blue:arc4random()%255/255.0 alpha:1.0].CGColor;

        layer.borderWidth=0.5;

        layer.cornerRadius=5;

        [self setAnimation:layer];

        [self.layer addSublayer:layer];

    }

    -(void)setAnimation:(CALayer *)layer

    {

        const int max = 20;

        if (layer.transform.m11<max) {

            [layer setTransform:CATransform3DScale(layer.transform, 1.1, 1.1, 1.0)];

    //        其实说的就是_cmd在Objective-C的方法中表示当前方法的selector,正如同self表示当前方法调用的对象实例一样。

            [self performSelector:_cmd withObject:layer afterDelay:0.03];

        }

        else

        {

            [layer removeFromSuperlayer];

        }

    }

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

    {

        [self creatCircle:touches];

    }

    -(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

    {

        [self creatCircle:touches];

    }

    @end

  • 相关阅读:
    Qt 打开UI是提示Runtime Error! 。。。 然后奔溃
    Qt exe和动态 库获取运行所需库
    区分EXE或者动态库dll是32位或者64位方法
    QFile 读2进制文件
    MFC 动态库编译错误
    Qt 编译错误
    Qt QNetworkProxy类帮助翻译
    Qt QHttpMultiPart类帮助翻译
    Qt QNetworkCookie帮助翻译
    Qt QHttpPart翻译
  • 原文地址:https://www.cnblogs.com/tianlianghong/p/5380501.html
Copyright © 2020-2023  润新知