【发布时间】:2014-12-06 11:22:47
【问题描述】:
在 UITableViewCell 子类中,我尝试添加渐变层但它不起作用,我在互联网上搜索但确实找到了对我有用的解决方案,代码如下:
-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if(self){
_gradientLayer = [CAGradientLayer layer];
_gradientLayer.frame = self.bounds;
_gradientLayer.colors = @[[UIColor whiteColor], [UIColor greenColor], [UIColor blueColor], [UIColor orangeColor]];
_gradientLayer.locations = @[@0.00f, @0.01f, @0.95f, @1.00f];
[[[[self layer] sublayers] objectAtIndex:0] removeFromSuperlayer];
self.backgroundColor = [UIColor clearColor];
[self.layer insertSublayer:_gradientLayer above:[self.layer.sublayers firstObject]];
}
return self;
}
-(void)layoutSubviews {
[super layoutSubviews];
_gradientLayer.frame = self.bounds;
}
谁能告诉我为什么它不起作用,这段代码有什么问题?
【问题讨论】:
-
您的代码没有问题,它将图层添加到单元格本身。尝试将其添加到 contentView 或使 contentView 透明。
标签: ios objective-c uitableview cagradientlayer