Я использую [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];
}
Но это не влияет на фазу паттерна. Может кто-нибудь сказать мне, как я должен использовать его?
Большое спасибо,
Иосиф