How to create new image just with gradient colors, using "from-color" and "to-color"?
A simpler answer, using a CAGradientLayer.
CGSize size = CGSizeMake(width, height);
CAGradientLayer *layer = [CAGradientLayer layer];
layer.frame = CGRectMake(0, 0, size.width, size.height);
layer.colors = @[(__bridge id)[UIColor blackColor].CGColor, // start color
(__bridge id)[UIColor whiteColor].CGColor]; // end color
UIGraphicsBeginImageContext(size);
@try {
[layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
} @finally {
UIGraphicsEndImageContext();
}