调整UIWebView中高于特定宽度的所有图像的大小

时间:2011-09-16 10:56:30

标签: javascript iphone uiwebview resize

我正在开发一个iPhone应用程序,它将在webview中显示来自XML的文本和图像,并将webview放在scrollview上(每个webview是一个页面)。有超过100个不同大尺寸的图像,但我已经将我的webview放置了550宽和500高的框架。

我发现有些图片的宽度超过了550,所以当滚动查看下一页(意思是下一个webview内容)时我遇到了问题。

我尝试为网页浏览设置scalePageToFit,但图片和文字都显得很小。

任何人都可以帮助调整所有宽度超过550像素的webview图像到500的设置宽度,以便图像适合webview吗?这可以在JavaScript for iPhone或任何其他方式吗?

3 个答案:

答案 0 :(得分:5)

您可以尝试将一些CSS添加到您在webview中加载的任何内容中:

img {
  width: 500px;
  height: auto;
}

在Objective-C

NSString *cssString = @"<style type='text/css'>img {width: 500px; height: auto;}</style>";
NSString *htmlString = [NSString stringWithFormat:@"%@%@",cssString,myHTMLContent];
[myWebView loadHTMLString:htmlString];

答案 1 :(得分:1)

use this one  
  - (UIImage*)imageWithImage:(UIImage*)image 
                  scaledToSize:(CGSize)newSize
    {
        UIGraphicsBeginImageContext(newSize);
        [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
        UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();

        return newImage;
    }

答案 2 :(得分:0)

作为NathanGaskin答案的补充,如果您不想调整宽度小于500的图像,可以使用“img {max-width:500px; height:auto;}”。 有关最大宽度,请参阅:http://www.w3schools.com/cssref/pr_dim_max-width.asp