I have a navigationBar with largeTitle and searchcontroller and my tableView has a refreshcontrol.
When I pull to refresh the activityIndicator of refreshcontrol disappear but de refresh process continues, even when the process finish and I call .endRefreshing() of UIRefreshControll the navigationBar doesn't back to the normal size.
Someone with the same problem?
I searched a solution for this for weeks already and today, I finally made it work. The solution is so simple, I can't believe I haven't found that earlier.
I was using a normal UIViewController with a UITableView. My layout constraints were setup so that the UITableView was pinned with 0 to the bottom and top layout guides like so:
Once I changed that and pinned the UITableView to the Superview with 0 to all edges, it magically started to work:
I didn't even have to setup anything else. I hope so much that this does the fix for you as well because its just so annoying...
If the above doesn't work, than you need in addition to it, set
self.extendedLayoutIncludesOpaqueBars = YES;
or check the "Extend Edges / Under Opque Bar" in the Storyboard
Try
self.extendedLayoutIncludesOpaqueBars = YES;
If you have opaque navigation bars that is. It fixed the issue for me.
Try to use this code snippet:
self.navigationController?.navigationBar.prefersLargeTitles = false
self.navigationController?.navigationBar.prefersLargeTitles = true;