是否可以在 iOS 中只制作一半或一半的 UITableViewCell 渐变?
我正在使用以下代码。
-(void) addGradient:(UITableViewCell *) _button {
// [self removeGradient:_button];
// Add Border
CALayer *layer = _cell.layer;
layer.cornerRadius = 4.0f;
layer.masksToBounds = YES;
layer.borderWidth = 1.0f;
layer.borderColor = [UIColor colorWithWhite:0.5f alpha:0.2f].CGColor;
// Add Shine
CAGradientLayer *shineLayer = [CAGradientLayer layer];
shineLayer.frame = layer.bounds;
shineLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithWhite:1.0f alpha:0.0f].CGColor,
(id)[UIColor colorWithWhite:1.0f alpha:0.0f].CGColor,
(id)[UIColor colorWithWhite:0.75f alpha:0.0f].CGColor,
(id)[UIColor colorWithWhite:0.4f alpha:0.0f].CGColor,
(id)[UIColor colorWithWhite:1.0f alpha:1.0f].CGColor,
nil];
shineLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.5f],
[NSNumber numberWithFloat:0.5f],
[NSNumber numberWithFloat:0.8f],
[NSNumber numberWithFloat:1.0f],
nil];
[layer addSublayer:shineLayer];
}
我在 cellForRowAtIndexPath 方法中调用此方法。在这里,我将渐变效果完全设置为单元格的底部。但我只需要具有渐变效果的 UITableViewCell 的左半部分。有可能这样做吗?
谢谢