2017-06-06 15 views
0

iOS 11以降、UIWebViewがフルスクリーンの場合、背景バーと同じ色のステータスバーに偽の背景が表示されます。UIWebViewでステータスバーの背景を取り除くには?

誰もそれを取り除く方法を知っていますか?

はさえストーリーボードにIUWebViewを追加すると、それはフルスクリーンが

を見えるように、ステータスバーの背景を行います作る私はサイズとのUIWebViewの他のいくつかのプロパティを編集しようとしてきたし、それらのどれも働いていません、間違いなくUIWebViewからのものです。 また、すべてのサブビューとそのサイズを表示しようとしましたが、何か変わったことはありませんでした。

スクリーンショットが添付されています。灰色の「ステータスバー」を参照してください。スクロールすると消え、UIWebViewが画面のその部分にない場合は表示されません。 私は2番目のスクリーンショットでそれを望み、ステータスバーではなく偽の背景だけを削除します。

See the Screenshot enter image description here

答えて

5

これは、ステータスバーのような安全なエリアインセットが含まれるように、コンテンツのインセットを調整するためUIScrollView新しい動作を発生します。

することだけにそれを設定し、それを修正するにはUIScrollViewContentInsetAdjustmentNever

[self.webView.scrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever]; 

iOSの11ベータ4は、あなたのビューポートにこれを追加することができますし、また実行するには、偽のステータスバー

viewport-fit=cover

3

を削除しますので、これはHTML/CSS形式で、Viewportメタタグのviewport-fit=coverがこれを処理する正しい方法です。

また、パッディングを動的に調整して、ノッチ付きのカメラ/スピーカーでiPhone Xのさまざまなサイズのステータスバーを処理することもできます。あなたのCSSでそれらを活用することができるように

は幸運なことに、Appleは、安全なエリアインセットのためのいくつかのCSS定数を公開: すなわち、padding-top: constant(safe-area-inset-top);

私は、このシナリオとiOSのための新機能についてもう少し書きました11とiPhone X:https://ayogo.com/blog/ios11-viewport/

0

スウィフトバージョン:

webView.scrollView.contentInsetAdjustmentBehavior = .never 
関連する問題