Я использую [UIColor colorWithPatternImage:]
для установки фонового изображения для моего сгруппированного UITableViewCell. Я получил свободный закругленный угол для своих ячеек, и все выглядит отлично, пока я не попытаюсь придать ячейке другую высоту.
В идеале я хочу, чтобы фоновое изображение было центрировано по вертикали, но метод colorWithPatternImage:
запускает шаблон изображения из нижнего левого угла, из-за чего моя ячейка выглядит плохо.
В документации сказано, что
"По умолчанию фаза возвращаемого цвета равна 0, что приводит к выравниванию верхнего левого угла изображения с исходной точкой рисунка. Чтобы изменить фазу, сделайте цвет текущим, а затем используйте CGContextSetPatternPhase. изменить фазу."
Но я понятия не имею, как использовать CGContextSetPatternPhase
с моей текущей реализацией.
Я пытался
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGSize phase = CGSizeMake(50, 50);
CGContextSetPatternPhase(context, phase);
UIImage* image = [UIImage imageNamed:@"cell_background"];
UIColor* color = [UIColor colorWithPatternImage:image];
self.backgroundColor = color;
CGContextRestoreGState(context);
[super drawRect:rect];
}
Но это никак не влияет на фазу паттерна. Может ли кто-нибудь сказать мне, как я могу его использовать?
Большое спасибо,
Джозеф