第一:先看效果图形
第二:本绘图要了解的知识
1、 间隔性的定时器知识
dispatch_source_t timer 是GCD 的一个创建一个间隔性的定时器的形式。具体写法:
/* 定时器对象的创建 。其中:@<#dispatchQueue#> 改参数是设置Cup 处理的优先级( 可以是主线程)*/
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, <#dispatchQueue#>);
/* 这是定时器的设置*/
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, <#intervalInSeconds#> * NSEC_PER_SEC, <#leewayInSeconds#> * NSEC_PER_SEC);
/* 每次间隔都要会回调的方法*/
dispatch_source_set_event_handler(timer, ^{
<#code to be executed when timer fires#>
});
/* 定时器的开始*/
dispatch_resume(timer);
定时器的清楚:
/* 清楚时间*/
dispatch_source_cancel(self.timer);
double NextPointValue = sin(CFAbsoluteTimeGetCurrent()) + ((double)rand()/(double)RAND_MAX);
/* 转换对象,使其存入容器*/
NSNumber * NextPointObject = [NSNumber numberWithDouble:NextPointValue];
static inline CGAffineTransform
CGAffineTransformMakeScaleTranslate(CGFloat sx ,CGFloat sy,CGFloat dx ,CGFloat dy){
return CGAffineTransformMake(sx, 0.f, 0.f, sy, dx, dy);
}
CGMutablePathRef Paths = CGPathCreateMutable(); 路径的创建,同时要注意无论是在ARC 自动管理内存的情况 下,也要注意路径的释放:
/* 释放路径*/
CGPathRelease(Paths);
//
// ElectrocardiogramView.m
// 滚动图形(心电图)
//
// Created by MAC on 16/10/10.