是否可以在一个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];
}
但这只是为了绘制一张图片。有人可以帮忙吗? 感谢。
答案 0 :(得分:1)
您必须保留对您需要绘制的图像的引用。
@interface MyView : NSView
{
NSMutableArray* images;
}
然后,使用合适的API添加图像,例如:
@implementation MyView
- (void) addImage: (NSImage *) anImage
{
[images addObject: anImage];
[self setNeedsDisplay: YES];
}
在drawRect:
中,您可以遍历images
并绘制所有/部分内容。