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

  • 相关阅读:
    spring+mybatis多数据源切换
    【linux环境下】RabbitMq的安装和监控插件安装
    Slurm远程登录Jupyter Notebook
    Google Colab 使用
    关于conda和jupyter使用
    关于给C盘扩容以及动态磁盘
    关于使用实验室服务器的GPU以及跑上TensorFlow代码
    一些更改的后端接口和代码
    MarkDown to PDF
    蜗牛慢慢爬 LeetCode 25. Reverse Nodes in k-Group [Difficulty: Hard]
  • 原文地址:https://www.cnblogs.com/tianlianghong/p/5380501.html
Copyright © 2011-2022 走看看