web-dev-qa-db-fra.com

iOS 11 UIRefreshControl avec NavigationBar LargeTitle et SearchController disparaissant

J'ai un navigationBar avec largeTitle et searchcontroller et mon tableView a un refreshcontrol.

Lorsque je tire pour actualiser l'activitéIndicator de refreshcontrol disparaît mais que le processus de rafraîchissement continue, même lorsque le processus se termine et que j'appelle .endRefreshing () de UIRefreshControll, la barre de navigation ne revient pas à la taille normale.

enter image description here

Quelqu'un avec le même problème?

18
Charles Lima

J'ai cherché une solution pour cela depuis des semaines déjà et aujourd'hui, je l'ai finalement fait fonctionner. La solution est si simple, je ne peux pas croire que je n'ai pas trouvé cela plus tôt.

J'utilisais un UIViewController normal avec un UITableView. Mes contraintes de mise en page ont été configurées de sorte que UITableView soit épinglé avec 0 dans les guides de mise en page inférieurs et supérieurs comme suit:

enter image description here

Une fois que j'ai changé cela et que j'ai épinglé UITableView à Superview avec 0 à tous les bords, cela a commencé comme par magie:

enter image description here

Je n'ai même pas eu à configurer quoi que ce soit d'autre. J'espère tellement que cela fera la solution pour vous aussi parce que c'est tellement ennuyeux ...


Si ce qui précède ne fonctionne pas, vous avez besoin en plus de cela, définissez

self.extendedLayoutIncludesOpaqueBars = YES;

ou cochez la case "Extend Edges/Under Opque Bar" dans le Storyboard

25
xxtesaxx

Essayer

self.extendedLayoutIncludesOpaqueBars = YES;

Si vous avez des barres de navigation opaques, c'est le cas. Cela a résolu le problème pour moi.

12
beebcon

Essayez d'utiliser cet extrait de code:

self.navigationController?.navigationBar.prefersLargeTitles = false
self.navigationController?.navigationBar.prefersLargeTitles = true;
0
wj2061