Расширьте свою строку пиксель за пикселем в функции и вызовите ее через 0,5 секунды (скажем). Ваш массив с точками линии должен быть глобальным, и вам также потребуется глобальный счетчик:
int line [10] = {136, 137, 138, 139,140,145,180,155};
int i = 0;
- (void)extendLine {
CGContextRef c = UIGraphicsGetCurrentContext();
CGFloat colour[4] = {1.0f,0.0f,0.0f,1.0f};
CGContextSetStrokeColor(c, colour);
CGContextBeginPath(c);
NSLog(@"fired...");
CGContextMoveToPoint(c, x,0);
x = line[i];
// y = line[j];
CGContextAddLineToPoint(c, x,0);
x = x;
//y = y;
CGContextStrokePath(c);
x=x;
[self setNeedsDisplay];
i++;
}
Звоните:
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(extendLine) userInfo:nil repeats:YES];
Я не очень разбираюсь в графических контекстах и прочем, поэтому я не знаю, нужно ли вам звонить
CGContextSetStrokeColor(c, colour);
CGContextBeginPath(c);
каждый раз или только один раз.