Этот фрагмент кода может помочь.Я нашел код некоторое время назад в Интернете.К сожалению, я забыл сайт, поэтому не уверен, кому отдать должное.
Код как таковой рисует градиент от белого к черному.Просто измените прямоугольник и цвета в соответствии с вашими потребностями.
@interface MyView : UIView {
CGGradientRef _gradientRef;
}
@end
@implementation MyView
- (void) dealloc
{
[super dealloc];
}
- (id) initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGFloat colors[] =
{
1.0f, 1.0f, 1.0f, 1.0f,
0.0f, 0.0f, 0.0f, 1.0f,
};
_gradientRef = CGGradientCreateWithColorComponents(rgb, colors, NULL, sizeof(colors) / (sizeof(colors[0]) * 4));
CGColorSpaceRelease(rgb);
}
return self;
}
- (void) drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGPoint start = rect.origin;
start.y = 0;
CGPoint end = CGPointMake(rect.origin.x, rect.size.height);
CGContextDrawLinearGradient(context, _gradientRef, start, end, kCGGradientDrawsBeforeStartLocation | kCGGradientDrawsAfterEndLocation);
[super drawRect:rect];
}
@end