0

我像这样为 UIWebView 添加背景图片

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

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

如何将此图像添加为 UIWebView 中的背景一次,而不重复?

谢谢!

4

2 回答 2

4

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

[yourWebView setBackgroundColor:[UIColor clearColor]];
[yourWebView setOpaque:NO];
于 2013-08-30T08:12:46.493 回答
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;
}
于 2013-08-30T08:17:26.997 回答