zoukankan      html  css  js  c++  java
  • 点击动画

    #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

  • 相关阅读:
    C++ template —— 模板基础(一)
    《C++标准程序库》笔记之四
    《C++标准程序库》笔记之三
    《C++标准程序库》笔记之二
    C++标准程序库笔记之一
    JAVA中JPA的主键自增长注解设置
    SVN中服务器地址变更
    JAVA中正则表达式常用的四个方法
    反编译class文件并重新编译的方法
    JAVA中文件与Byte数组相互转换的方法
  • 原文地址:https://www.cnblogs.com/tianlianghong/p/5380501.html
Copyright © 2011-2022 走看看