NSView中的多个NSImages?

时间:2012-03-02 04:36:08

标签: objective-c macos cocoa

是否可以在一个NSImages中绘制多个NSView

到目前为止,在NSView子类中的绘制是这样完成的:

- (void)drawRect:(NSRect)dirtyRect
{
    [image drawInRect:NSMakeRect(0.0f, 0.0f, 100.0f, 100.0f) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
}

//to change the current image
- (void)newImage:(NSImage *)image_
{
     [image release];
     image = [image_ retain];
     [self setNeedsDisplay:YES];
}

但这只是为了绘制一张图片。有人可以帮忙吗? 感谢。

1 个答案:

答案 0 :(得分:1)

您必须保留对您需要绘制的图像的引用。

@interface MyView : NSView
{
    NSMutableArray* images;
}

然后,使用合适的API添加图像,例如:

@implementation MyView

- (void) addImage: (NSImage *) anImage
{
    [images addObject: anImage];
    [self setNeedsDisplay: YES];
}

drawRect:中,您可以遍历images并绘制所有/部分内容。