我有一种进度条,它实际上是一本书阅读内容的视觉表示。该条是一条水平线,在阅读书籍的区域填充。例如,如果它是一本 100 页的书,并且用户只阅读了第 1 页到第 10 页和第 90 页到第 100 页,进度条将显示最左边的 10% 区域和最右边的 10% 区域填充颜色.
我目前正在使用此代码为一个阅读会话绘制矩形:
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect innerRect = CGRectInset(rect, 5, 5);
CGRect ProgressIndicator = CGRectMake(innerRect.origin.x, innerRect.origin.y, 20, innerRect.size.height);
CGContextSetStrokeColorWithColor(context, [[UIColor blueColor] CGColor]);
CGContextSetLineWidth(context, 5);
CGContextMoveToPoint(context, CGRectGetMinX(ProgressIndicator), CGRectGetMinY(ProgressIndicator));
CGContextAddLineToPoint(context, CGRectGetMaxX(ProgressIndicator), CGRectGetMinY(ProgressIndicator));
CGContextAddLineToPoint(context, CGRectGetMaxX(ProgressIndicator), CGRectGetMaxY(ProgressIndicator));
CGContextAddLineToPoint(context, CGRectGetMinX(ProgressIndicator), CGRectGetMaxY(ProgressIndicator));
CGContextClosePath(context);
CGContextStrokePath(context);
CGContextSetFillColorWithColor(context, [[UIColor blueColor]CGColor]);
CGContextFillRect(context, ProgressIndicator);
现在,这仅适用于一个阅读会话,并且仅绘制一个矩形作为条形上的矩形“阅读”部分。如果我有多个矩形(比如在一个数组中)要在栏上绘制,我该如何管理绘图。恐怕一旦我画另一个矩形,我会丢失当前的图形。
如何使用“for”循环绘制多个矩形?
我知道这可能是一个非常愚蠢的问题,但我尝试找到解决方法但没有成功。