【发布时间】:2012-11-22 11:47:46
【问题描述】:
我有一种进度条,它实际上是一本书所读内容的可视化表示。该条是一条水平线,在阅读书籍的区域填充。例如,如果它是一本 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”循环来绘制多个矩形?
我知道这可能是一个非常愚蠢的问题,但我尝试找到解决方法但没有成功。
【问题讨论】:
标签: iphone ios cocoa-touch core-graphics