我正在使用NSColor创建一个colorWithPatternImage,如苹果示例所示:

- (id)initWithFrame:(NSRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
        backgrColor = [[NSColor colorWithPatternImage:[NSImage imageNamed:@"greenfelt"]] retain];
    }
    return self;
}

- (void)drawRect:(NSRect)dirtyRect {
    [backgrColor set];
    NSRectFill(dirtyRect);
}


该图像取自相同的示例,并且可以在此处使用。当我在应用程序中尝试该视图时,该视图将显示为黑色。为什么会这样呢?

谢谢

最佳答案

它可能找不到图像,很可能是因为您没有在文件名上使用扩展名。

更新:快速测试确认省略扩展名仍然可以正常工作。但是它可能仍然找不到图像。也许它没有被添加到项目中,或者您输错了名字?另外,我假设此视图实际上是使用-initWithFrame:创建的,对吗?

关于objective-c - NSColor colorwithpatternimage将NSView涂成黑色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5943153/

10-13 04:28