1

スクロール中に通過する Web ページを反映して、ナビゲーション バーの色がわずかに変化する Safari と同じ効果を実現したいと考えています。

ここに画像の説明を入力

UIWebViewで使用されていた 6 年前の方法は、単純に次の 2 行のコードを含めることです。

webView.scrollView.contentInset = UIEdgeInsetsMake(44.0, 0.0, 0.0, 0.0);
    
webView.scrollView.scrollIndicatorInsets = _webView.scrollView.contentInset;

WKWebView以来、エッジ インセットはコンテンツ オフセットのように機能します。最初は正しく表示されますが、スクロールすると Web ページが UINavigationBar/UIVisualEffectView の下に移動し、apple.com のようにそれに応じて調整される Web サイトのトップ バーに到達できなくなります。

他に方法はありますか?

以下の回答は 6 年前のものであり、廃止されています。

4

2 に答える 2

2

contentInsetWeb ビューをナビゲーション バーの下に移動してから、次のように Web ビューの を設定する必要があります。

navBar.frame = CGRectMake(0, 0, self.view.bounds.size.width, 44);
webView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
webView.scrollView.contentInset = UIEdgeInsetsMake(44, 0, 0, 0);
webView.scrollView.scrollIndicatorInsets = webView.scrollView.contentInset;
于 2014-11-14T14:06:55.103 に答える
0

xcode のアプリ設定に移動し、ステータス バー スタイルでドロップダウンをクリックして [ライト] を選択します。これらはすべてのアプリに適用する必要があります

于 2014-11-14T14:07:33.253 に答える