0

我很难理解为什么下面的代码不起作用,我想要实现的是一个图像显示在 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

4

1 回答 1

2

你从不drawRect:直接打电话。该例程具有 Cocoa 提供的各种先决条件,例如创建CGContextRef. 你实施drawRect:. 可可称之为。

您的drawInRect:fromRect:operation:fraction:调用应该放入drawRect:of 中map,它应该是 的子类NSView。这个特定问题通常用 aNSImageView而不是 custom更好地解决NSView,但如果绘图更复杂,那么 customNSView是合适的。

于 2012-10-23T01:37:23.967 回答