6

J'ai une barre de navigation avec la fonction largeTitle et searchcontroller et ma tableView a un refreshcontrol.iOS 11 UIRefreshControl avec NavigationBar LargeTitle et SearchController disparaissent

Lorsque je tire pour actualiser le activityIndicator de refreshcontrol disparaître mais le processus de rafraîchissement continue, même lorsque le processus se termine et j'appelle .endRefreshing() de UIRefreshControll le navigationBar ne revient pas à la taille normale.

enter image description here

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

+0

J'ai le même problème. Une fois l'actualisation terminée, la vue de table sous-jacente revient à sa position d'origine, mais la barre de navigation reste dans l'état d'actualisation. Avez-vous déjà trouvé une solution? – xxtesaxx

+0

@xxtesaxx Ma réponse peut vous aider: https://stackoverflow.com/a/47659869/2145198 – beebcon

Répondre

0

Essayez d'utiliser cet extrait de code:

self.navigationController?.navigationBar.prefersLargeTitles = false 
self.navigationController?.navigationBar.prefersLargeTitles = true; 
4

J'ai cherché une solution pour cela pendant des semaines déjà et aujourd'hui, je me suis finalement fait le travail. La solution est si simple, je ne peux pas croire que je ne l'ai pas trouvé plus tôt. J'utilisais un UIViewController normal avec un UITableView. Mes contraintes de mise en page ont été installés de telle sorte que le UITableView a été épinglé avec 0 à bas et haut des guides de mise en page comme ceci:

enter image description here

Une fois que je changé cela et épinglé le UITableView au Superview avec 0 à tous les bords, il magie a commencé à travailler:

enter image description here

Je n'ai même pas à quoi que ce soit d'autre configuration. Je l'espère bien que cela ne le correctif pour vous aussi parce que son tellement ennuyeux ...

+0

Cela m'a sauvé un tel mal de tête! Savez-vous pourquoi c'était le cas? – CamLeng

+1

N'a pas fonctionné pour moi malheureusement ... (le faisant par l'intermédiaire du code de vue au lieu du storyboard) –

+0

Mettez-vous des contraintes par l'intermédiaire du code? Assurez-vous de ne pas épingler votre vue de défilement aux guides de mise en page ou à la zone de sécurité, mais au haut et au bas de la vue d'ensemble. – xxtesaxx

3

Essayez

self.extendedLayoutIncludesOpaqueBars = YES;

Si vous avez des barres de navigation opaques qui est. Cela a réglé le problème pour moi.

+1

Il a fixé pour moi! Merci –

+0

A travaillé comme un charme! La tableview a sauté, mais la barre de navigation est restée grande. Oh et l'indicateur était invisible ... tout fixé grâce à vous! – MikeB