问题
I need to get CGContextRef of NSView object. It won't be so bad if I knew how.
In Carbon this thing was done like this:
CGContextRef cgref = (libvlc_drawable_t)GetWindowPort(HIViewGetWindow((OpaqueControlRef*)hiViewRef));
Obviously it can be done by subclassing NSView (or it's subclass) and catching it in it's drawRect, but that's too ugly.
Your ideas?
回答1:
I've never used it but it think this is your way:
[myView lockFocus];
imageContext = (CGContextRef)[[NSGraphicsContext currentContext]
graphicsPort];
...
[myView unlockFocus];
also have a look to the lockFocusIfCanDraw of NSView
来源:https://stackoverflow.com/questions/1139330/obtain-a-cgcontextref-of-nsview-outside-of-drawrect