1

私は自分のプロジェクトで UIwebview を使用しています。webview のコンテンツが html データから埋められている場合、以下のようなコードを実行します。

[webView loadHTMLString:[NSString stringWithFormat:@"<html><body><font face=\"Arial\" size=\"3\"</font>%@</body></html>",[[[dict_Response objectForKey:@"objects"]objectAtIndex:0]objectForKey:@"detaildescription"]] baseURL:[NSURL URLWithString:@"http://newsletter.nobelbiocare.com/"]];

今、私はwebviewのフレームを設定しています:-

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
 if(appDel.ori_appDel == UIInterfaceOrientationPortraitUpsideDown || appDel.ori_appDel == UIInterfaceOrientationPortrait)
        {
webView.frame=CGRectMake(30,150,710,450);
}else{
webView.frame=CGRectMake(30,150,930,450);
}
return yes;
}

コンテンツが適切な方法で表示されているランドスケープ モードで問題が発生しています。しかし、ポートレート モードに移動すると、自動的に水平スクロールが表示されます。水平モードで Web ビューをスクロールしたくありません。助けてください。これを解決する方法.

sizetofit と autoresizing|autofixing を使用しました。しかし、それも解決していません 助けてください..

4

4 に答える 4

3

@シュエタ

webViewDidFinishLoad で webview を更新してみてください。これが役に立ちます。サイズを Web ビュー フレームではなく html で設定してみてください。

- (void)webViewDidFinishLoad:(UIWebView *)webview {
    CGRect oldBounds = [[self webview] bounds];
    //in the document you can use your string ... ans set the height
    CGFloat height = [[webview stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
    [webview setBounds:CGRectMake(oldBounds.origin.x, oldBounds.origin.y, oldBounds.size.width, height)];
}

主な関心事はメソッドです。

[webview stringByEvaluatingJavaScriptFromString:@"document.height"] 

JavaScriptを使用して。

于 2012-06-13T08:56:34.813 に答える
2

それ以外の

sizetofitautoresizing|autofixing

書く

webview.scalePageToFit=TRUE

于 2012-06-13T08:53:48.780 に答える
1

これを使って:

  [webView loadHTMLString:[NSString stringWithFormat:@"<html><div style='font-family: arial,helvetica;font-size: 14px;'>%@</div></html>",[[[dict_Response objectForKey:@"objects"]objectAtIndex:0]objectForKey:@"detaildescription"]] baseURL:[NSURL URLWithString:@"http://newsletter.nobelbiocare.com/"]];
于 2012-06-13T08:41:33.290 に答える
1

これらを試してください
1. body タグの間にフォーマット指定子を as として入れます</font>%@</body></html>
2.これでWebビューをリロードしてみてください

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    //Reload your web view here
}
于 2012-06-13T08:53:54.520 に答える