给UIView加渐变色的背景的办法有两个。
1. 使用CAGradientLayer
UIView* gradientView = [[UIView alloc] initWithFrame:frame];
CAGradientLayer* gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = gradientView.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithWhite:0.0f alpha:1.0f] CGColor], (id)[[UIColor colorWithWhite:0.0f alpha:0.0f] CGColor], nil];
[gradientView.layer insertSublayer:gradientLayer atIndex:0];
注意,颜色必须使用CGColor而不是UIColor。
2. 使用第三方库Chameleon ( pod 'ChameleonFramework' )
NSArray* colors = [NSArray arrayWithObjects:(id)[UIColor colorWithWhite:0.0f alpha:1.0f], (id)[UIColor colorWithWhite:0.0f alpha:0.0f], nil];
gradientView.backgroundColor = [UIColor colorWithGradientStyle:UIGradientStyleTopToBottom withFrame:self.gradientView.bounds andColors:colors];
注意:这里的颜色是UIColor。