web-dev-qa-db-ja.com

ビューコントローラーを押すと、iOS 11の黒いバーがナビゲーションバーに表示される

この奇妙なバグはiOS 11でのみ発生します。iOSが低い場合、すべて正常に機能します。問題は、ビューコントローラーにプッシュするたびに、ナビゲーションバーの上に黒いスペースが表示されることです。他の誰かがこの問題を経験し、それを修正する方法はありますか?

Pushing

21
Tung Vo Duc

問題は、速度が2倍の場合、ビューのサイズがナビゲーションコントローラーのビューのサイズよりも小さいことです。

したがって、コンテンツオフセットの変更中にビューのフレームをスクロールすると、速度が2倍になります。
それはその振る舞いを説明するでしょう。問題を解決するために以下を試してください。

extendedLayoutIncludesOpaqueBars = true

この行をUIViewControllerUITableViewControllerまたはUICollectionViewControllerに追加する必要があります

36
BilalReffas

IOS 11の検索バーに高さ44の制約を追加できます。

if #available(iOS 11.0, *) {
    searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}
6
Shoaib

同じ問題があり、viewWillDisappear中に親コントローラーから次のコードを削除して修正しました

self.navigationController?.setNavigationBarHidden(true, animated: animated)

0
Sharkes Monken