这里我使用此代码来提供渐变效果,但根本没有获得效果。
CAGradientLayer *layer2 = [CAGradientLayer layer];
NSArray *gradientColors = [NSArray arrayWithObjects:(id)[self colorWithHexString:@"3eb79d"].CGColor,(id)[self colorWithHexString:@"3fb65c"].CGColor,(id)[self colorWithHexString:@"3cb7da"].CGColor, nil];
[layer2 setColors:gradientColors];
[layer2 setFrame:cell.userBackgroundView.layer.frame];
[cell.userBackgroundView.layer insertSublayer:layer2 atIndex:0];
cell.userBackgroundView.clipsToBounds = YES;
答案 0 :(得分:1)
试试这个
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame =cell.userBackgroundView.frame;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor clearColor] CGColor], (id)[[UIColor blackColor] CGColor], nil];
[cell.userBackgroundView.layer insertSublayer:gradient atIndex:0];
答案 1 :(得分:0)
尝试将子图层的索引从0更改为-1
[cell.userBackgroundView.layer insertSublayer:layer2 atIndex:-1];
确保您的userBackgroundView
未被其他视图覆盖。
答案 2 :(得分:0)
使用
[layer2 setFrame:cell.userBackgroundView.bounds];
而不是
[layer2 setFrame:cell.userBackgroundView.layer.frame];
如果您使用的是自动套餐,请务必在viewDidAppear
或viewDidLayOutSubviews