带iPhone 4 Retina Display的colorWithPatternImage(image@2x.png)

时间:2010-07-10 05:18:07

标签: iphone uiimage uicolor iphone-4

感谢每当我输入“@ 2x”时SO的搜索功能爆炸,很难说这是否已被问过......

我一直在使用colorWithPatternImage:为我的各种视图构建平铺的背景图像。但是,当在新的iPhone 4显示器上观看时,这些可以预测看起来像垃圾。所以我已经构建了我的tile.png文件的@ 2x版本,但是colorWithPatternImage:显然无法正确处理UIImages的两倍规模。

是否有人为此问题有效地制定了解决方法?也许在CoreGraphics框架内(其中,我是新手)?

1 个答案:

答案 0 :(得分:4)

我认为这是SDK的一个错误。 colorWithPatternImage:使用高清图像做了一些奇怪的事情。它上面有一个小thread on the Apple Dev Forums,但基本上我认为这是一个错误。不确定苹果是否已经意识到它。

我通过在-drawRect:内的视图的子类中绘制模式来解决这个问题。

希望这有帮助。

- (void)drawRect:(CGRect)rect {
    [[UIImage themeImageNamed:@"UIBackgroundPattern.png"] drawAsPatternInRect:rect];
}