我正在使用
理想情况下,我希望背景图像垂直居中,但是
文档中说: "默认情况下,返回的颜色相位为0,这会导致图像的左上角与绘图原点对齐。要更改相位,请将颜色设置为当前颜色,然后使用CGContextSetPatternPhase函数更改相位。" 但是我不知道如何在当前实现中使用
我尝试过:
[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];
}
但这对模式阶段没有任何影响。有人能告诉我应该如何使用它吗?
非常感谢,
Joseph
drawRect:
在单元格的最后一层上绘制,我失去了圆角和其他东西。但我想我应该为此开一个新问题。 - Joseph Lin