iOS|iOS 画圆-刷帧

一、画圆 1.在StoryBoard拖一个View
iOS|iOS 画圆-刷帧
文章图片
图1.1加上画圆的背景(灰色)View 2.command+N创建新文件,继承UIView


iOS|iOS 画圆-刷帧
文章图片
图1.2新文件DrawCircle 3.StoryBoard选择灰色View,关联文件


iOS|iOS 画圆-刷帧
文章图片
图1.3关联文件class 4.在PLDrawCircle.m内代码如下:

//1.获取上下文

CGContextRef ctx = UIGraphicsGetCurrentContext();
//2.绘图
CGContextAddEllipseInRect(ctx, CGRectMake(0, 0, 200, 200));
//设置颜色
[[UIColor purpleColor] set];
//3.渲染
CGContextFillPath(ctx);
一个圆形就画出来了。
注:画圆还有另外两种方法
第一种:(不说了)
CG_EXTERN void CGContextAddArcToPoint(CGContextRef c, CGFloat x1, CGFloat y1,

CGFloat x2, CGFloat y2, CGFloat radius)
CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
第二种:
CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise)

CGContextRef:获取上下文,x,y:圆心坐标,radius:半径,startAngle:开始的弧度,endAngle:结束的弧度,clockwise: 0为顺时针,1为逆时针。
例如:
CGContextAddArc(ctx, 100, 100, 100, 0, 360 * (M_PI/180), 0);

或者
CGContextAddArc(ctx, 100, 100, 100, 0, 2 * M_PI, 0);
最终效果


iOS|iOS 画圆-刷帧
文章图片
图1.4最终效果 二、刷帧 效果:从上往下掉(即改变圆的Y值)


iOS|iOS 画圆-刷帧
文章图片
图2.1最终效果 1.定义要修改的属性Y
@property (nonatomic , assign) int circleY;

2.修改Y的值
self.circleY += 5;

3.修改原代码中的Y值
CGContextAddArc(ctx, 100, self.circleY, 30, 0, 360 * (M_PI/180), 0);

4.刷新界面
- (void)updateCirCleY

{
[self setNeedsDisplay];
}
5.创建CADisplayLink
CADisplayLink * display = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateCirCleY)];
【iOS|iOS 画圆-刷帧】[display addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

    推荐阅读