我试图为我的视图添加渐变,并向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:'
尽管由于CALayer是其中的一部分而我导入了Quartz Core框架(否则在初始化CAGradientLayer时我将已经收到错误)。
我要去哪里错了?
最佳答案
我认为这一行应该是(注意大小写和self.layer
的使用):
[self.layer addSublayer:g];
addSublayer
是CALayer
实例方法,而不是UIView
实例方法。关于ios - 无法调用addSubLayer:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13659952/