我已经将NSImageView
子类化,其图像设置为NSImageScaleProportionallyDown
,因此它不会总是占据视图的整个空间 - 这是应该的。现在我不知道如何分别改变背景颜色,除了图像之外仍未使用的空间颜色......默认为灰色。
我已尝试覆盖drawRect
:
- (void)drawRect:(NSRect)dirtyRect
{
[[NSColor blackColor] setFill];
NSRectFill(dirtyRect);
[super drawRect:dirtyRect];
}
如果我将通话留给super
,则会使整个ImageView
变为黑色,而不仅仅是背景。如果它停留在那里,则根本没有变化 - 背景保持灰色......
任何人都对此有所暗示,我们将非常感激。
修改 我将ImageView的styleMask设置为NSImageFramePhoto - 我需要它,因为它可以按照需要的方式调整图像大小。如果我把它留下,背景颜色可以起作用,但有了它,就没有了。