Ios UIView渐变使用CAGradientLayer始终为蓝色

Ios UIView渐变使用CAGradientLayer始终为蓝色,ios,objective-c,uiview,cagradientlayer,Ios,Objective C,Uiview,Cagradientlayer,我正在尝试创建一个带有深灰色渐变的ui视图: UIView *sectionSpacer = [[UIView alloc] init]; sectionSpacer.backgroundColor = [UIColor clearColor]; CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = sectionSpacer.bounds; gradient.colors = [NSArray arrayWi

我正在尝试创建一个带有深灰色渐变的
ui视图

UIView *sectionSpacer = [[UIView alloc] init];
sectionSpacer.backgroundColor = [UIColor clearColor];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = sectionSpacer.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[RGB(80, 83, 88) CGColor], (id)[RGB(69, 71, 73) CGColor], nil];
[sectionSpacer.layer addSublayer:gradient];


由于某些原因,即使RGB值为深灰色,渐变视图也始终为蓝色。这是为什么?

如果你只是
初始化没有框架的视图,它将默认为
CGRectZero
,因此你的图层也将有
0
宽度和高度,这就是你看不到它的原因(您确实看到的渐变看起来像标准的
UITableView
标题,可能来自其他地方,我怀疑它是否与您在显示的代码中初始化的视图相同)