我很难理解为什么下面的代码不起作用,我想要实现的是在NSView的左上角显示的图像,但没有显示...
NSImage *map0 = [NSImage imageNamed:@"map0.png"];
NSRect rect = NSMakeRect(0, 0, 400, 400);
[map0 drawInRect:rect fromRect:NSZeroRect operation:NSCompositeSourceAtop fraction:1.0f];
[map drawRect:rect];
修改
map
是NSView,我想将图像绘制到
答案 0 :(得分:2)
您永远不会直接致电drawRect:
。此例程具有Cocoa提供的各种前提条件,例如创建CGContextRef
。您实施drawRect:
。 Cocoa称之为。
您的drawInRect:fromRect:operation:fraction:
来电应该放入drawRect:
的{{1}},map
应该是NSView
的子类。通常使用NSImageView
而非自定义NSView
可以更好地解决此特定问题,但如果图形更复杂,则自定义NSView
是合适的。