为什么这段代码没有被正确执行。我试过 setNeedsDisplay 和 setNeedsLayout 但这段代码似乎没有被执行。即使它确实执行了,它也会在不应该执行的时候执行,并且执行错误,这意味着它在错误的位置绘制了随机长度的线。-(无效)drawNW {
NSLog(@"%f",x1);
NSLog(@"%f",y1);
CGContextSetStrokeColorWithColor(c, [UIColor blueColor].CGColor);
CGContextSetLineWidth(c, 10.0);
CGContextMoveToPoint(c, x1, y1);
CGContextAddLineToPoint(c, -(sqrtf(2)/2)*length + x1, ((sqrtf(2)/2)*length + y1));
CGContextStrokePath(c);
length = line.bounds.size.height;
}
长度、x1 和 y1 是由 NSTimer 以 0.1 秒的间隔不断变化的浮点数:
NWTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(startMoving) userInfo:nil repeats:YES];
计时器调用这个调用drawNW的代码:
x1 = x1-2.5;
y1 = y1-2.5;
length= length+5;
[self drawNW];