【问题标题】:What is the equivalent to [NSPatternColor CGColor] in OS X 10.7?OS X 10.7 中的 [NSPatternColor CGColor] 等价于什么?
【发布时间】:2013-05-15 15:05:42
【问题描述】:
我有以下代码在 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 上运行吗?
【问题讨论】:
标签:
objective-c
macos
cocoa
osx-lion
osx-mountain-lion
【解决方案1】:
看起来像是 ARC 早期发布问题。尝试使用CGColorRef 中间分隔成两行。
CGColorRef color = [NSImage imageNamed:@"editbackground.png"]].CGColor;
[UIColor colorWithPatternImage:color];
CGColorRelease(color);
See SO answer
【解决方案2】:
这与早期发布无关(但这可以解释我看到的许多其他问题!)。根据 NSColor 类参考,仅从 10.8 开始支持 CGColor。