如何为UIWebView添加背景图像而不重复?

时间:2013-08-30 08:09:42

标签: ios uiwebview

我为UIWebView添加了像这样的背景图像

[self.webView setOpaque:NO];
[self.webView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"test01.jpg"]]];

问题是如果UIWebView框架大于图像尺寸,则会重复图像。

如何在UIWebView中一次添加此图像作为背景,不重复?

谢谢!

2 个答案:

答案 0 :(得分:4)

使用UIWebView添加具有相同大小和位置的UIImageView,并为其设置图像。对于您的UIWebView;

[yourWebView setBackgroundColor:[UIColor clearColor]];
[yourWebView setOpaque:NO];

答案 1 :(得分:2)

colorWithPatternImage:的文档说:During drawing, the image in the pattern color is tiled as necessary to cover the given area.

所以有两个解决方案:

  • 您放置了一个包含webview尺寸的图片,因此不会重复

  • 使用a方法调整图片大小,使用colorWithPatternImage:

以下是正确调整图像大小的方法:

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize
{
    //UIGraphicsBeginImageContext(newSize);
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}