与OS X 10.7中的[NSPatternColor CGColor]相同的是什么?

时间:2013-05-20 23:44:30

标签: objective-c macos cocoa osx-lion osx-mountain-lion

我有以下代码在OS X 10.8中正常工作:

[viewLayer setBackgroundColor:[NSColor colorWithPatternImage:[NSImage imageNamed:@"editbackground.png"]].CGColor];

但是当我在OS X 10.7上使用它时,我遇到了以下崩溃:

-[NSPatternColor CGColor]: unrecognized selector sent to instance

有谁知道如何让代码在10.7上运行?

2 个答案:

答案 0 :(得分:1)

这与早期发布无关(但这可以解释我见过的很多其他问题!)。根据NSColor类引用,CGColor仅从10.8开始支持。

答案 1 :(得分:0)

看起来像是ARC早期发布的问题。尝试使用CGColorRef中间值分成两行。

CGColorRef color = [NSImage imageNamed:@"editbackground.png"]].CGColor;
[UIColor colorWithPatternImage:color];
CGColorRelease(color);

See SO answer