将UIImage设置为背景 - 不平铺

时间:2012-06-05 18:51:58

标签: objective-c ios uiimage core-graphics uicolor

我有一个背景图像选择器,可让用户从其相册中选择库存图像。要设置图像,我有以下代码:

-(void)setBackgroundImage:(UIImage *)newImage {    
    [backgroundImage release];
    backgroundImage = newImage;
    [backgroundImage retain];
    [editorContentView setBackgroundColor:[UIColor colorWithPatternImage:newImage]];
}  

虽然图像总是从右上角开始平铺。这适用于我的32x32模式,但如果用户想要在2048x2048画布上使用1024x768图像并且不希望它平铺,我该如何阻止该图块?

我唯一想到的是将较小的图像转换为Canvas大小的图像,然后将其设置为。

还有其他建议吗?

2 个答案:

答案 0 :(得分:2)

将背景设置为透明并创建一个单独的UIImageView,然后您可以将其放在下面。

答案 1 :(得分:1)

你总是可以继承UIView并使用CoreGraphics在-drawRect中绘制图像: