0

我正在尝试向我的视图添加渐变,并将以下内容添加到 drawRect:

CAGradientLayer *g = [[CAGradientLayer alloc]init];
g.frame = self.bounds;
g.colors = [NSArray arrayWithObjects:(id)[[UIColor blueColor] CGColor],
            [[UIColor redColor] CGColor], nil];
g.locations = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],
               [NSNumber numberWithFloat:1.0],
                nil];
[self addSubLayer:g];

我收到警告:没有可见的@interface 声明选择器'addSubLayer:'

虽然我导入了 Quartz Core 框架,因为 CALayer 是其中的一部分(否则我在初始化 CAGradientLayer 时会收到错误消息)。我哪里错了?

4

1 回答 1

2

我认为该行应该是(注意大写和使用self.layer):

[self.layer addSublayer:g];

addSublayerCALayer实例方法,而不是UIView实例方法。

于 2012-12-01T15:29:44.680 回答