从-drawRect:
获取NSView的CGContext并将其用于以后执行更多绘图是否安全?在一个简单的测试,像这样的:NSView的绘图上下文
CGContextRef context = NULL;
- (void)drawRect:(NSRect)r
{
if (!context)
context = [[NSGraphicsContext currentContext] graphicsPort];
}
- (void)drawSomething
{
CGContextSetRGBFillColor(context, 1, 0, 0, 1);
CGContextFillRect(context, CGRectMake (0, 0, 100, 100));
CGContextFlush(context);
}
一切似乎当-drawSomething
被调用的工作,但它是保证的背景下会不会改变?你可以看到并可能猜到,我试图绕过使用-drawRect:
绘图的标准方式。它适用于许多场合,但更多的程序化绘图方式会让我的生活变得更轻松。