2012-05-21 61 views
1

我想设置我的看法的背景色标,经过一番研究,我发现这个线程:Gradients on UIView and UILabels On iPhone我认为的渐变阴影?

但是当我添加以下行:

CAGradientLayer *gradient = [CAGradientLayer layer]; 

我得到这样的:

"_OBJC_CLASS_$_CAGradientLayer", referenced from: clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是什么错误?以及如何解决它?

回答

1

这听起来像你的项目没有得到Quartzcore框架添加到它。

通过(见图片)

  1. 开盘项目设置
  2. 选择构建阶段选项卡
  3. 单击+按钮,然后在生成的对话式石英添加的框架。

对话应该为您自动完成。

enter image description here

最后,一旦你这样做,你需要导入框架头文件,无论你想使用它(或project.pch踩住它)

#import <QuartzCore/CoreAnimation.h> 
+0

非常感谢:) – Rob

1

您需要将QuartzCore.framework添加到您的项目中。

不要忘了将其导入到你的代码也(在视图控制器的.h文件中):

#import <QuartzCore/CoreAnimation.h> 
+0

谢谢您的回答,但我已经添加了标题。它仍然不起作用。 – Rob

+0

你已经导入了标题,但你是否导入了实际的框架?对不起,如果它看起来像一个愚蠢的问题。如果你还没有这样做,你可以通过项目设置 - >构建阶段菜单来完成。那里有一部分叫'链接二进制与图书馆'。确保该框架已添加到那里。如果添加了框架,请在左侧的项目导航器中选择框架,并确保在右上角的“文件检查器”窗口中勾选了“目标成员资格”。这可以确保框架在您的项目构建中。 –

+1

现在我明白了,谢谢! – Rob