我试图在视图控制器的背景视图上绘制渐变,但由于某种原因我无法让它工作。
这是我的方法,它是从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];
Because gradient.colors
期望一个NSArray
of CGColorRef
. The (id)
为了创建NSArray
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)