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に配置する必要があります。この特定の問題は通常、カスタムよりも を使用した方が適切に解決できますが、描画がより複雑な場合はカスタムが適切です。mapNSViewNSImageViewNSViewNSView

于 2012-10-23T01:37:23.967 に答える