14

ナビゲーション バーとステータス バーの後ろにスライドする Web ビューを使用するビュー コントローラーを作成しています。これを行うには、webView.scrollView.contentInsetプロパティの上部インセットを に設定しています64

ただし、これは Web ビューが占有する領域の量を縮小しないため、ページが 1 画面に満たない場合は、スクロールするために下部に 64 ピクセルの余白があります。Web ビューは垂直方向UIPageViewControllerに表示されるため、ページングが中断されます。この余分なスペースを取り除く方法はありますか?

4

5 に答える 5

8

webview の scrollview content insets を調整するようなことを試しましたか? 例:

    webView.scrollView.contentInset = UIEdgeInsetsMake(0, 0,64, 0)
于 2016-01-07T14:29:42.630 に答える
6

を調整し、高さを 64 ずつ調整する必要があるようですwebView.scrollView.contentSize。これに答えるには、ナビゲーション バーとステータス バーの後ろにスライドする方法について、さらに詳しい情報を提供する必要があるかもしれません。Scroll View Programming Guide のこのセクションを見てみましょう。

http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/CreatingBasicScrollViews/CreatingBasicScrollViews.html

于 2013-07-02T23:29:41.437 に答える
1

clipsToBounds を変更します。

webView.clipsToBounds = NO;

これにより、コンテンツがフレームの外側に表示されるようになるため、フレームを通常のようにナビゲーション バーのすぐ下に設定します。ナビゲーション バーが半透明になり、その下にコンテンツが表示されます。

于 2013-07-03T08:02:52.363 に答える
-1

短いページでのスクロールを無効にすることで、この問題を回避しました。基本的に-stringByEvaluatingJavaScriptFromString:、ページ内で JavaScript を実行してdocument.body、一番下の要素の一番下の位置を計算します。(document.bodyそれ自体は常に少なくともビューポートと同じ大きさであるため、そのサイズを確認することはできません。)次に、Objective-C ランドに戻り、それを Web ビューの高さ (インセットを差し引いたもの) と比較します。少ない場合は、スクロールを無効にします。これは完全な解決策ではありませんが、最悪の症状をカバーします。

誰かがこれよりも優れた解決策を思い付くことができれば、それについて聞いてみたいです! いずれにせよ、賞金を自分に授与することはできないので、誰かが受け取ることになります.

于 2013-07-04T05:00:33.913 に答える