UIWebView
の中にUIScrollView
があります(scrollviewには別のコンポーネントが含まれています)
UIWebView
でInterface BuilderまたはProgrammaticの両方でマルチタッチを有効にしようとしましたが、htmlでズームできません。両方でズームインを処理する必要がありますかUIScrollView
およびUIWebView
?または私が設定する必要がないものは何ですか?
UIWebViewで機能するには、ピンチとズームのscalesPageToFit = YESを設定する必要があります
OK、上記の両方を行う必要がありますが、以下も行います。メインビューにWebビューがありましたが、機能しませんでした。
<UIScrollViewDelegate>
View Controllerで、スクロールビューデリゲートをInterface BuilderのView Controllerにドラッグし、viewForZoomingInScrollView
メソッドを実装します。これは、UIScrollViewへのポインターを返す必要があります(myScrollViewを返します)。JavaScriptを使用すると、ズームレベルを制御できますが、私が見つけた神聖な解決策は滑らかに見えません。
<head>
にあるとします:
<meta id="vp" name="viewport" content="width=768,initial-scale=1.0">
4倍にズームし、ユーザーがズームを変更できるようにするには、コンテンツを2回変更します。
var vp = document.getElementById('vp');
vp.content = "width=767,minimum-scale=4.0,maximum-scale=4.0,user-scalable=yes";
vp.content = "width=768,minimum-scale=0.25,maximum-scale=10.0,user-scalable=yes";
幅の切り替えは非常に重要です-そうでない場合、Mobile Safariには深刻な再描画のバグがあります(過剰最適化のため)。
initial-scale
を再度設定することはできません。2回目は無視されます。
コントローラにviewForZoomingInScrollViewメソッドを実装する必要があります。実装しないと、ズームは何もしません。 (なぜこれが必要なのか本当にわかりませんが、そこに行きます。)
詳細については、 http://developer.Apple.com/iphone/library/documentation/WindowsViews/Conceptual/UIScrollView_pg/ZoomZoom/ZoomZoom.html を参照してください。