Простое переопределение сообщения drawRect для UIView и рисования фона:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
GContextDrawLinearGradient(context, self.gradientLayer, CGPointMake(0.0, 0.0),
CGPointMake(0.0, self.frame.size.height), kCGGradientDrawsBeforeStartLocation);
}
Для создания и кэширования градиента используйте этот фрагмент (компоненты цвета, которые вы должны использовать самостоятельно).
- (CGGradientRef)gradientLayer
{
if (_gradientLayer == nil)
{
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGFloat locations[] = { 0.0, 1.0 };
CGFloat colors[] = { 0.0 / 255.0, 0.0 / 255.0, 48.0 / 255.0, 1.00, 26.0 / 255.0, 48.0 / 255.0, 89.0 / 255.0, 1.00 };
_gradientLayer = CGGradientCreateWithColorComponents(colorSpace, colors, locations, sizeof(colors) / (sizeof(colors[0]) * 4));
CGColorSpaceRelease(colorSpace);
}
return _gradientLayer;
}
И, конечно же, не забудьте выпустить свой градиент в dealloc.