Вы бы использовали Core Graphics (он же Quartz) для рисования градиента в методе -drawRect:
вида:
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGFloat colors[8] = {1.0, 0.75, 0.30, 0.5, 0.7, 0.2, 1.0, 0.8};
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColorComponents(space, colors, NULL, 2);
CGContextDrawLinearGradient(ctx, gradient, top, bottom, NULL);
Вы можете ограничить область, которую градиент заполняет, создав путь в текущемконтекст (ctx) и отсечение к нему, используя CGContextClip(ctx);
.top
и bottom
- это CGPoints, которые определяют начало и конец градиента.