zoukankan      html  css  js  c++  java
  • 记录一次Quartz2D学习(七)

    (六)内主要讲述了图片的裁剪

    本次主要讲交互

    7.交互

      7.1  通过外部刷新内部的显示效果

        初始化的时候设定好初始值,调用setNeedsDisplay方法来重新绘制

    - (instancetype)init

    {

        self = [super init];

        if (self) {

            self.backgroundColor = [UIColor whiteColor];

        }

        return self;

    }

    - (instancetype)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self) {

            NSLog(@"initWithFrame");

            self.radius = 1 ;

            self.backgroundColor = [UIColor whiteColor];

        }

        return self;

    }

     

    -(void)setRadius:(float)radius{

        _radius = radius*100;

        [self setNeedsDisplay];

    }

     

    - (void)drawRect:(CGRect)rect {

        NSLog(@"drawRect:%f",self.radius);

        CGContextRef  ctx = UIGraphicsGetCurrentContext();

        [[UIColor grayColor] set];

        CGContextAddArc(ctx, 150, 150, self.radius, 0, M_PI*2, 0);

        

        CGContextFillPath(ctx);

    }

     

     

     

     

     

     

    7.2使用runLoop进行逐帧播放的动画 

     

    - (instancetype)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self) {

            self.backgroundColor = [UIColor whiteColor];

            self.img_y=0;

    //初始化时间管理器

            CADisplayLink *  displayer =[CADisplayLink displayLinkWithTarget:self selector:@selector(upDateImage)];

    //添加时间管理器到runLoop

            [displayer addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

        }

        return self;

    }

    -(void)upDateImage{

        [self setNeedsDisplay];

    }

    - (void)drawRect:(CGRect)rect {

    //位移量

        self.img_y +=5;

    //防止越界

        if (self.img_y > [UIScreen mainScreen].bounds.size.height) {

            self.img_y = 0;

        }

    //可有可无

        CGContextRef  ctx = UIGraphicsGetCurrentContext();

    //图片加载

        UIImage * img =[UIImage imageNamed:@"图标-首页"];

    //图片绘制到对应点

        [img drawAtPoint:CGPointMake(0, self.img_y)];

    }

     

     

     

     

     

     

     

     

  • 相关阅读:
    [Spring开发]获取上下文对象
    [Dubbo开发]Dubbo日志插件实现(打包)
    [Dubbo开发]Dubbo日志插件实现(未打包)
    [Java开发]打印当前路径到控制台
    [Dubbo开发]Dubbo拦截器(Filter)初探
    [Dubbo开发]配置简单的生产者和消费者
    [Dubbo开发]Zookeeper配置
    [Dubbo开发]Maven安装与配置
    EL表达式的特性
    oracle中rownum的使用
  • 原文地址:https://www.cnblogs.com/thxios/p/5145518.html
Copyright © 2011-2022 走看看