2013-06-02 30 views
1

我已使用我的UIView的图案背景:如何控制UIViews背景图案颜色的大小?

myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundImage.png"]]; 

但图像看起来被拉伸或扩大规模,并在需要的分辨率不会出现。有没有办法设置背景图案的大小或比例?或者是将图像大小用作默认值。图像DPI有影响吗?

回答

0

原来,我没有使用@ 2x命名约定,所以图像显示为拉伸。我添加它并修复了一切。

1

该模式是通过平铺图像,直到它填充给定的区域。 因此,除原始图像尺寸以外,不能控制拼贴尺寸。

现在,如果你想提供视网膜图像,你应该只有一个@2x版本,iOS会自动照顾(顺便说一句,方法调用[UIImage imageNamed:@"backgroundImage"] - 文件扩展名是PNG图像的可选)。

不要为视网膜提供更高的dpi图像,而是提供两倍于非视网膜大小的图像(显然不是过采样图像)。

最后,您似乎对模式(至少是唯一记录的)的唯一控制就是阶段。以下是official documentation的相关部分:

默认情况下,返回颜色的相位为0,这会导致图像的左上角与绘图原点对齐。要更改相位,请将颜色设为当前颜色,然后使用CGContextSetPatternPhase函数更改相位。