de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
Peter Warbo
Peter Warbo
質問

Objective-C - ドキュメントコンテンツの潜在的な変更後にUIWebViewの動的size.heightを取得する

私は UIWebView の内容に応じて動的にサイズを変更しています。多くのコンテンツがある場合、UIWebViewの高さが1000pxに及ぶ可能性があります。コンテンツが少ない場合は、500pxになる可能性があります(UIWebViewは0〜npxの任意の高さを持ちます)。ドキュメントをロードした後にUIWebViewの高さを調べるために使用しているコードは次のとおりです。

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

   //Change the height dynamically of the UIWebView to match the html content
    CGRect webViewFrame = webView.frame;
    webViewFrame.size.height = 1;
    webView.frame = webViewFrame;
    CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
    webViewFrame.size = fittingSize;
    webViewFrame.size.width = 276;//Making sure that the webView doesn't get wider than 276 px
    webView.frame = webViewFrame;

    float webViewHeight = webView.frame.size.height;
}

これは完全に機能します。しかし、私は276ピクセル(私のUIWebViewの幅)より広い画像があるかどうかを確認するために、javascript(jquery)を使用している複雑に追加する。

IF there is an image that is wider I add a class to the img tag named "oversized" and have a css rule that will scale the image properly so it will not be wider than 276 pixels. Since the javascript runs after the document has finished loading I can not longer "catch" the UIWebView height. How can I get the new document height after the javascript has been run?

私が使用しているjavascriptは次のようになります。

<script type='text/javascript' src='http://code.jquery.com/jquery-1.4.2.js'></script>                            
<script type='text/javascript'>
 276) { 
                $(this).parent().addClass('oversized');
            } 
         }); 
    }); 
}); 
//]]>
</script>

そしてCSS:

.oversized * { 
    border: 2px solid red;
    width: 100%;
    height: auto;
}
1 2011-10-27T20:40:54+00:00 1
プログラミング
objective-c
javascript
css
uiwebview
Darek Rossman
16日 11月 2011 в 3:54
2011-11-16T03:54:31+00:00
さらに
ソース
編集
#56792925

あなたの-webViewDidFinishLoad:メソッドでは、

NSString *height = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"];

また、jQueryを使用して大判画像を検索する代わりに、 'width:100%'から 'max-width:100%'に変更してすべての画像に設定します。

img { 
    border: 2px solid red;
    max-width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
}

ボックスサイズのルールは、枠線が幅に余分なピクセルを追加しないようにします。

0
0
関連コミュニティ 1
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
4 ユーザー
日本人コミュニティのjavascript @react_ja @php_ja
開く telegram
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Денис Анненский
登録済み 1日前
2
365
登録済み 5日前
3
True Image
登録済み 6日前
4
archana agarwal
登録済み 1週間前
5
Maxim Zhilyaev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属