【问题标题】:NSColor colorwithpatternimage paints NSView in black colorNSColor colorwithpatternimage 将 NSView 绘制为黑色
【发布时间】:2011-08-22 00:54:48
【问题描述】:

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

- (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);
}

图片取自同一个例子,它在那里工作。当我在我的应用程序中尝试它时,视图是黑色的。为什么会这样?

谢谢

【问题讨论】:

    标签: objective-c cocoa nsview background-color nscolor


    【解决方案1】:

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

    更新: 快速测试确认省略扩展仍然有效。但它仍然可能找不到图像。也许它没有添加到项目中,或者您输入了错误的名称?另外,我假设这个视图实际上是使用 -initWithFrame: 创建的,对吧?

    【讨论】:

    • 感谢您的回复。此视图是通过 IB 创建的,并绑定到我的 NSViewController 子类中的相应 IBOutlet。添加扩展确实有帮助,但我还发现了另一个导致无法找到图像的问题。感谢您为我指明正确的方向!
    • @NavaCarmon,还有什么问题?
    • 我不记得确切但我的猜测是我的应用程序是从包构建的,整个事情就是从正确的包中获取资源......
    猜你喜欢
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    相关资源
    最近更新 更多