この奇妙なバグはiOS 11でのみ発生します。iOSが低い場合、すべて正常に機能します。問題は、ビューコントローラーにプッシュするたびに、ナビゲーションバーの上に黒いスペースが表示されることです。他の誰かがこの問題を経験し、それを修正する方法はありますか?
問題は、速度が2倍の場合、ビューのサイズがナビゲーションコントローラーのビューのサイズよりも小さいことです。
したがって、コンテンツオフセットの変更中にビューのフレームをスクロールすると、速度が2倍になります。
それはその振る舞いを説明するでしょう。問題を解決するために以下を試してください。
extendedLayoutIncludesOpaqueBars = true
この行をUIViewController
、UITableViewController
またはUICollectionViewController
に追加する必要があります
IOS 11の検索バーに高さ44の制約を追加できます。
if #available(iOS 11.0, *) {
searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}
同じ問題があり、viewWillDisappear中に親コントローラーから次のコードを削除して修正しました
self.navigationController?.setNavigationBarHidden(true, animated: animated)