iOS开发中Quartz2D控制圆形缩放和实现刷帧效果

2020-01-14 18:11:46刘景俊

//  YYview.m
//  04-对圆进行缩放
//
//  Created by apple on 14-6-11.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

 

#import "YYview.h"

@implementation YYview
//自定义view中的圆不显示
//重写set方法,为半径赋值
-(void)setRadius:(float)radius
{
    _radius=radius;
    //通知自定义的view重新绘制图形
    [self setNeedsDisplay];
}

//如果view是从xib或storyboard中创建出来的会先调用awakefromnib方法
- (void)awakeFromNib
{
    //在这里为圆的半径设定一个初始的值
    self.radius = 20;
}

- (void)drawRect:(CGRect)rect
{
    //1.获取图形上下文
    CGContextRef ctx=UIGraphicsGetCurrentContext();
    //2.绘图
    //在自定义的view中画一个圆
    CGContextAddArc(ctx, 100, 100, self.radius, 0, 2*M_PI, 0);
    //设置圆的填充颜色
    [[UIColor grayColor]set];
    
    //3.渲染
//    CGContextStrokePath(ctx);
    CGContextFillPath(ctx);
}


@end


效果:

 

iOS开发中Quartz2D控制圆形缩放和实现刷帧效果

iOS开发中Quartz2D控制圆形缩放和实现刷帧效果

2.注意点:

drawRect:方法不能由我们自己手动调用,只能由系统来调用。
drawRect:调用的时机:当第一次显示或者一个重绘事件发生时调用。
setNeedsDisplay方法:重新绘制,调用这个方法就会通知自定义的view重新绘制画面,调用drawRect:。