я пытаюсь создать пользовательский индикатор выполнения с кварцевым рисунком. Я делаю следующее:
- (void)drawRect:(CGRect)rect {
// Drawing code.
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect currentBounds = self.bounds;
CGContextSetLineWidth(context, 20.0f);
CGContextSetStrokeColorWithColor(context, [ProgressBarView redColor]);
CGContextBeginPath(context);
CGContextMoveToPoint(context, CGRectGetMinX(currentBounds), CGRectGetMidY(currentBounds));
CGContextAddLineToPoint(context, CGRectGetMaxX(currentBounds) * time, CGRectGetMidY(currentBounds));
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathStroke);
}
.с этой функцией каждую секунду.
- (void)pushTime {
if (time >= 1.0) {
time = 0.0;
} else {
time = time += 0.1;
}
[self setNeedsDisplay];
}
Он отлично работает в первый раз, но затем индикатор выполнения никогда не возвращается к начальной точке, я уже пытался изменить начальное значение на значение, отличное от 0, так чтоКварц может создать путь без проблем, но он этого не сделал.
В любом случае, спасибо за вашу помощь.