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?

有帮助吗?

解决方案

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

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

其他提示

Check the bindings again, in XIB, Probably you might need to again link ImageView with your New "SubClassImageView"

hope that should solve the problem....

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top