LargeTitleとsearchcontrollerを含むnavigationBarがあり、tableViewにrefreshcontrolがあります。
RefreshControlのactivityIndicatorをプルして更新すると、プロセスが終了してUIRefreshControllの.endRefreshing()を呼び出しても、defreshプロセスは続行されますが、navigationBarは通常のサイズに戻りません。
同じ問題を持つ誰か?
私はすでにこの解決策を数週間探しており、今日、ようやくそれを機能させました。解決策はとてもシンプルなので、私はそれを以前に見つけたことがないとは信じられません。
通常のUIViewControllerとUITableViewを使用していました。私のレイアウト制約は、UITableViewが次のように下部と上部のレイアウトガイドに0で固定されるように設定されました。
それを変更して、UITableViewをスーパービューにすべてのエッジを0に固定すると、魔法のように機能し始めました。
他に何もセットアップする必要はありませんでした。とても煩わしいので、これで問題が解決することを願っています...
上記が機能しない場合は、それに加えて必要なものを設定します
self.extendedLayoutIncludesOpaqueBars = YES;
または、ストーリーボードの「エッジの延長/不透明バーの下」を確認します
試す
self.extendedLayoutIncludesOpaqueBars = YES;
不透明なナビゲーションバーがある場合。それは私のために問題を修正しました。
次のコードスニペットを使用してみてください。
self.navigationController?.navigationBar.prefersLargeTitles = false
self.navigationController?.navigationBar.prefersLargeTitles = true;