3

UIWebview で html ファイルをロードします。UIWebview で画像のサイズを変更しようとしていますが、ロードが完了しました。ページネーションには、スワイプ ジェスチャを使用しました。これまでは正常に動作します。この html ファイルには、サイズが互いに異なる画像がほとんどありません。一部の画像はデバイスの幅を超えています。画面に収まるように画像の幅を修正する必要があります。ページネーションにスワイプジェスチャを使用したため、スクロール可能な WebView は必要ありません。では、デバイスの幅に基づいてその画像のサイズを変更するにはどうすればよいですか。

次のコードを使用します

- (void)webViewDidFinishLoad:(UIWebView *)webView
{


     NSString *varMySheet = @"var mySheet = document.styleSheets[0];";

     NSString *addCSSRule =  @"function addCSSRule(selector, newRule) {"
     "if (mySheet.addRule) {"
     "mySheet.addRule(selector, newRule);"                              // For Internet Explorer
     "} else {"
     "ruleIndex = mySheet.cssRules.length;"
     "mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex);"   // For Firefox, Chrome, etc.
     "}"
     "}";

     NSString *insertRule1 = [NSString stringWithFormat:@"addCSSRule('html', 'padding: 0px; height: %fpx; -webkit-column-gap: 0px; -webkit-column-width: %fpx;')", webview4epub.frame.size.height, webview4epub.frame.size.width];
     NSString *insertRule2 = [NSString stringWithFormat:@"addCSSRule('p', 'text-align: justify;')"];

     [webview4epub stringByEvaluatingJavaScriptFromString:varMySheet];
     [webview4epub stringByEvaluatingJavaScriptFromString:addCSSRule];
     [webview4epub stringByEvaluatingJavaScriptFromString:insertRule1];
     [webview4epub stringByEvaluatingJavaScriptFromString:insertRule2];
     NSString* foundHits = [webview4epub stringByEvaluatingJavaScriptFromString:@"results"];
     NSMutableArray* objects = [[NSMutableArray alloc] init];

     NSArray* stringObjects = [foundHits componentsSeparatedByString:@";"];
     for(int i=0; i<[stringObjects count]; i++){
         NSArray* strObj = [[stringObjects objectAtIndex:i] componentsSeparatedByString:@","];
         if([strObj count]==3){
             [objects addObject:strObj];   
            }
        }


    int totalWidth = [[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollWidth"] intValue];

}
4

1 に答える 1