我已经开始使用CAGradientLayer但我的应用程序崩溃了
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = headerView.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[UIColor redColor],(id)[UIColor greenColor], nil];
[headerView.layer addSublayer:gradient];
EXEC_BAD_ACESS
我的实施中是否有错误?
答案 0 :(得分:4)
这是一个小错误 - 您需要使用CGColorRef
指针数组:
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor], (id)[[UIColor greenColor] CGColor], nil];
答案 1 :(得分:2)
CAGradientLayer使用CGColorRef值。使用UIColor的CGColor属性。例如:
[UIColor redColor].CGColor