UIView上的绘图渐变不适用于iOS 9
我试图在iOS 9的视图控制器的背景视图上绘制渐变但是,我不知道为什么,不工作
这是我的方法,从viewDidLoad调用
- (void)drawGradient { CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = self.view.bounds; gradient.colors = @[[UIColor greenColor], [UIColor redColor]]; gradient.locations = @[@0.0, @1.0]; [self.view.layer insertSublayer:gradient atIndex:0]; }
但没有任何反应,也没有出现渐变。 我做错了什么?
感谢Larme的评论,我弄明白了我的错误。
代替
gradient.colors = @[[UIColor greenColor], [UIColor redColor]];
这是正确的
gradient.colors = @[(id)[UIColor greenColor].CGColor, (id)[UIColor redColor].CGColor];
因为gradient.colors
需要一个CGColorRef
的NSArray
。 为了创建NSArray
还需要(id)
NSArray
。