绘制UIView与绘制CGContext路径

时间:2014-04-15 13:58:47

标签: ios objective-c performance uiview cgcontext

我想知道在使用a之间的视图中绘制矩形更有效 UIView

UIView *box = [[UIView alloc] initWithFrame:CGRectMake(ax, ay, width, height)];
box.backgroundColor = [UIColor clearColor];
box.layer.borderColor = [UIColor whiteColor].CGColor;
box.layer.borderWidth = lineWidth;
[self.view addSubview:box];

CGContext

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, lineWidth);
CGContextSetStrokeColorWithColor(context, color.CGColor);
CGContextMoveToPoint(context, ax, ay);
CGContextAddLineToPoint(context, ax+width, ay);
CGContextAddLineToPoint(context, ax+width, ay+height);
CGContextAddLineToPoint(context, ax, ay+height);
CGContextAddLineToPoint(context, ax, ay);
CGContextStrokePath(context);

1 个答案:

答案 0 :(得分:0)

这完全取决于你想要达到的目标。如果您要绘制大量矩形,则应该采用CGContext方式。如果它只是围绕其他视图元素的矩形,则最好使用UIView方法。 一般来说我认为使用UIViews只是在屏幕上画东西是不鼓励的,所以当有疑问时使用CGContext