2016-12-30 6 views
2

は、私は、次のトリックを使用して、ナビゲーションバーの影を隠し:Swift:ナビゲーションバーのスクロールバーがステータスバーの上にスクロールしますか?

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) 
    self.navigationController?.navigationBar.shadowImage = UIImage() 

私も、次のセットがあります。私は私のtableViewそれをスクロールするとき

self.extendedLayoutIncludesOpaqueBars = true 
    self.automaticallyAdjustsScrollViewInsets = true 
    self.tabBarController?.tabBar.isHidden = true 

すべてはことを除いて、私のページで正常に見えるが予想通り、ナビゲーションバーの下になりますが、ステータスバーの上:

See tableView scrolling above status bar?

tableViewがナビゲーションバーとステータスバーの両方でスクロールするようにするにはどうすればよいですか?

+0

試してみてください 'self.extendedLayoutIncludesOpaqueBars = false' –

+0

@ Mr.Bistaありがとう、私はそれを試みたが、まだ動作しません。 – leonardloo

答えて

0

あなたは、これは、ステータスバーの下のUITableViewを配置します

tableView.contentInset = UIEdgeInsetsMake(20.0, 0.0, 0.0, 0.0) 
tableView.scrollIndicatorInsets = UIEdgeInsetsMake(20.0, 0.0, 0.0, 0.0) 
+0

ありがとうございましたが、私もそれを試して、動作しませんでした。これはテーブルビューを下に移動するだけですが、テーブルビューをスクロールしてステータスバーをスクロールすると同じことが起こります。 – leonardloo

+0

テーブルのスクロールビューが上に移動してからこれを試してください** tableView.bounces = false ** –

2

をUIEdgeInsetMake下のようなテーブルビューを試してみても、そのスクロールビューすることができます。

self.edgesForExtendedLayout=UIRectEdgeNone; 
self.extendedLayoutIncludesOpaqueBars=NO; 
self.automaticallyAdjustsScrollViewInsets=NO; 
1

ナビゲーションバーのデフォルトの背景を非表示にすると、これが予想されます。つまり、自分でナビゲーションバーに緑色の背景を作成しているということです。ステータスバーとナビゲーションバーは、デフォルトのバックグラウンドと同じように手動で拡張する必要があります。

または、透明なイメージの代わりに緑のイメージを使用します。

+0

ありがとうございます!これが解決策でした。背景画像を緑色に設定することです! – leonardloo

関連する問題