Search code examples
objective-ccocoansimagensimageview

Cocoa : Image Well - Custom NSImageView class doesn't show image?


I added an imagewell via interface builder, set an image, then ran and all is well. (the image is displayed).

However, if I change the custom class to one of my own (NSImageView subclass), the image is no longer displayed. This is a bare class with nothing added. Any reason why this wouldn't work?

I then tried to manually set an image in the initWithFrame method:

    [self setImage:[NSImage imageNamed:@"image.png"]];
    [self setImageAlignment:NSImageAlignCenter];

    NSLog(@"image is valid? %@", [[self image] isValid] ? @"yes" : @"no");

But this too did not work. No errors, just no image shown.

Any ideas as to what might be my mistake?


Solution

  • Make sure that you call super drawRect inside the drawRect method.

     - (void)drawRect:(NSRect)dirtyRect
     {
         [super drawRect:dirtyRect];
         // Drawing code here.
     }