【问题标题】:Resize all images in a UIWebView above a certain width将 UIWebView 中所有图像的大小调整到一定宽度以上
【发布时间】:2011-09-16 10:56:30
【问题描述】:

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

我发现一些图像的宽度超过 550,因此在滚动查看下一页(即下一个 webview 内容)时遇到问题。

我尝试为 webview 设置scalePageToFit,但图像和文本都显得很小。

任何人都可以帮助将所有宽度超过 550 像素的 webview 图像调整为 500 的设置宽度,以便图像适合 webview 吗?是否可以在 iPhone 的 JavaScript 中或通过任何其他方式实现?

【问题讨论】:

    标签: javascript iphone uiwebview resize


    【解决方案1】:

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

    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];
    

    【讨论】:

      【解决方案2】:
      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;
          }
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-24
          • 1970-01-01
          • 2011-07-10
          • 2012-08-14
          • 2015-05-19
          • 2011-12-25
          • 1970-01-01
          • 2012-10-01
          相关资源
          最近更新 更多