我是Apple iOS编程中context
概念的新手。目前,我正在考虑views
。我想用尽可能最简单的方法绘制弧,然后我找到了这个question and answer。但后来我对语境概念感到困惑。我想画一些东西,我需要调用绘图函数并提供view
我希望绘图函数绘制的位置。但在那里,我对UIGraphicsGetCurrentContext()
感到困惑。那“当前的背景”是什么?是UIScreen.mainScreen()
吗?如果我想将“当前上下文”设置为UICollectionViewCell
内的视图,以便绘制的所有像素都相对于视图?我能这样做吗?
答案 0 :(得分:1)
在CocoaTouch中绘制的方式是将UIView
子类化为创建自定义视图并实现drawRect:(CGRect)rect
方法。将您的绘图代码放在drawRect
中。类似的东西:
-(void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGPathRef path = CGPathCreateWithRect(rect, NULL);
[[UIColor blueColor] setStroke];
CGContextSetLineWidth(context, 4.0);
CGContextAddPath(context, path);
CGContextDrawPath(context, kCGPathFillStroke);
CGPathRelease(path);
}
如果需要,可以将自定义UIView放在UICollectionViewCell中。