Чтобы нарисовать градиент, вам придется программно создать подкласс и переопределить drawRect:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColorComponents
(colorSpace,
(const CGFloat[8]){1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f},
(const CGFloat[2]){0.0f,1.0f},
2);
CGContextDrawLinearGradient(context,
gradient,
CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMinY(self.bounds)),
CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMaxY(self.bounds)),
0);
CGColorSpaceRelease(colorSpace);
CGContextRestoreGState(context);
}
Самый простой способ , который хранит ваши ячейки в конструкторе интерфейса, - это, вероятно,подкласс UIView, чтобы он нарисовал градиент в своем drawRect и поместил его в вашу ячейку позади других подпредставлений:
GradientView *gradientView = [[GradientView alloc] init];
gradientView.frame = cell.bounds;
[cell addSubview:gradientView];
[cell sendSubviewToBack:gradientView];
Однако, лучший способ сделать это - лучший , вероятно, неиспользуйте конструктор интерфейса для этого и создайте подкласс UITableViewCell.Для продвинутой настройки разработчики интерфейса, как правило, только усложняют мой опыт.Это зависит от личных предпочтений.