无法调用addSubLayer:

时间:2012-12-01 13:35:09

标签: ios calayer quartz-core

我正在尝试向我的视图添加渐变,并将以下内容添加到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时会收到错误)。 我哪里错了?

1 个答案:

答案 0 :(得分:2)

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

[self.layer addSublayer:g];

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