2012-04-17 18 views
1

だから、無名のアプリでUIWebView内で実行されるフルスクリーン広告を作成しています。基本的には、ビューポートのメタタグを変更することはできません。そのため、私のアプリケーションはフルスクリーンにするには1023x767でなければなりません。それは、奇妙なバグを引き起こす1つのシナリオを除いて、95%の時間で動作します。私がランドスケープで開始し、次に水平に回転すると、ビューポートよりも大きいかのように、webviewの周りをアプリをスクロールすることができます。 CSSでiOS UIWebViewウインドウの幅と高さは

、私が持っている:

@media only screen and (orientation: portrait) { 
    html, body { 
     width: 767px; 
     height: 1023px; 
     overflow:hidden; 
     position:relative; 
    } 
} 

@media only screen and (orientation:landscape) { 
    html, body { 
     width: 1023px; 
     height: 767px; 
     overflow:hidden; 
     position:relative; 
    } 
} 

私は姿勢変化にイベントを検出しています、と私は取得しています:

$('html').width() = 767 
$('html').height() = 1023 
$('body').width() = 767 
$('body').height() = 1023 

はしかし、私はまた、これを取得していますが分かりました明らかに問題であると同時に、で、私はなぜかは、どのようにそれを修正するために把握することはできません。

$(window).width() = 1023 
$(window).height() = 1365 

任意の考えを?誰でも!? :-)

+0

唯一の問題がスクロールしている場合は、WebViewのscrollViewでスクロールを無効にしてください。次に、ドキュメントのサイズに関係なく、あなたのコンテンツのみが表示されます。 –

+0

私のアプリではありません。私はちょうどその中を走ります。 – normmcgarry

答えて

1

私はビューポートが実際にデバイスの幅よりも1px小さいので、より多くの研究によって、veiwportメタタグを使用してwidth = device-widthを設定できなかった理由があります。次に、その死んだピクセル領域のビューポート内をスクロールします。アプリは左と右のスワイプを検出してさまざまなウェブビュー間で変更するため、「e.preventDefault()」を実行してスクロールを無効にし、1pxのスクロールスクラブでアプリのスワイプ機能を停止させることはできません。

かいつまんで、私はやることができました:

ビューポート=(デバイス幅-1)と、それは問題を修正しました。アプリの人々は、これが可能であることを知らなかったし、このようなことが可能であるかどうかもわからなかった。しかし、あなたはそのデッドスペースにこだまれていなかったので、スワイプが起こる可能性がある。