1

単純な画像をロードするUIWebviewがあります。ユーザーは、垂直方向にスクロールしなくても画像全体を表示する必要があります。setSalesPageToFit:YESを使用すると、ユーザーは画像をロードしましたが、画像全体を表示するには垂直方向にスクロールする必要がありました。画像を完全に表示し、スクロールする必要がないようにするにはどうすればよいですか?
これは私のコードスニペットです:

NSString *pathImg = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"1"] ofType:@"png"];
    NSString* webViewContent = [NSString stringWithFormat:
                                @"<html>"
                                "<body style='background-color: transparent' >"
                                "<div align='center'>"
                                "<img src=\"file://%@\"/ style='align:center;'>"
                                "</div>"
                                "</body></html>", pathImg];
      webView.backgroundColor =[UIColor clearColor];
    [self->webView loadHTMLString:webViewContent baseURL:nil];
    [webView setScalesPageToFit:YES];

どんな助けでも大歓迎です...

4

1 に答える 1

3

これを試してみてください..それがあなたを助けることを願っています

 NSString *htmlString = [NSString stringWithFormat:
              @"<html>"
              "<head>"
              "<script type=\"text/javascript\" >"
              "function display(img){"
              "var imgOrigH = document.getElementById('image').offsetHeight;"
              "var imgOrigW = document.getElementById('image').offsetWidth;"
              "var bodyH = window.innerHeight;"
              "var bodyW = window.innerWidth;"
              "if((imgOrigW/imgOrigH) > (bodyW/bodyH))"
              "{"
              "document.getElementById('image').style.width = bodyW + 'px';"
              "document.getElementById('image').style.top = (bodyH - document.getElementById('image').offsetHeight)/2  + 'px';"
              "}"
              "else"
              "{"
              "document.getElementById('image').style.height = bodyH + 'px';"
              "document.getElementById('image').style.marginLeft = (bodyW - document.getElementById('image').offsetWidth)/2  + 'px';"
              "}"
              "}"
              "</script>"
              "</head>"
              "<body style=\"margin:0;width:100%;height:100%;\" >"
              "<img id=\"image\" src=\"%@\" onload=\"display()\" style=\"position:relative\" />"
              "</body>"
              "</html>",image path];

     [webView setClipsToBounds:YES];
    webView.opaque=NO;
    webView.backgroundColor=[UIColor clearColor];
    [webView setUserInteractionEnabled:NO];
    [webView sizeToFit];
    [webView setScalesPageToFit:YES];
    [webView loadHTMLString:htmlString baseURL:nil];
于 2012-12-17T09:51:03.333 に答える