読者です 読者をやめる 読者になる 読者になる

ふるすたっくえんじにあっぽい人の日記

ASP .NET MVC (C#)、.NET Framework、iOS (Objective-c) アプリ、Androidアプリ (Java)、AWS、たまにLAMPとかプロジェクトマネジメントあたりのお話

【iOS】UIWebViewで表示されている要素の高さを取得

iOS

2014/12/27
追記しました↓

【iOS】UIWebViewで表示されている要素の高さを取得 バージョン2 - チャラめがねdevの日記



ひさびさiOS
うん、一応iOSもまだやってます。

動的に変えたいじゃん?webViewのサイズ。
とりあえずこんなhtml

<!DOCTYPE html>
<html>
<head>
<title>aaaaa</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta name="viewport" content="user-scalable=no;">
<link rel="stylesheet" type="text/css" href="../css/hoge.css" media="all">
</head>
<body>
<div id="contents">
あーぁ、だりー
</div>
</body>
</html>

取得したい要素にid振っとくのがポイントですねー
んでもって、こう。

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *heightStr = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"contents\").clientHeight;"];
    if (![NSString isNilOrEmpty:heightStr])
        webView.height = [heightStr floatValue];
}

ただ単にObjective-cからJavascript使えるよーってだけですね。