J'ai un contrôleur de vue qui est un contrôleur de vue enfant du contrôleur de vue racine de ma fenêtre. Ce contrôleur de vue enfant a une vue de table et lorsque je sélectionne une ligne, il indique au contrôleur de vue parent de présenter un contrôleur de vue de manière modale. Le contrôleur de vue modale, cependant, n'apparaît jamais. J'ai créé un contrôleur de vue de test des os nus qui imprime juste viewDidLoad
et viewWillAppear
. Ce que je remarque est que lorsque j'appelle parentVC.present(testVC, animated:true, completion:nil)
, viewDidLoad
est exécuté, mais viewWillAppear
ne l'est pas. viewWillAppear
n'est appelé que lorsque j'interagis avec l'interface utilisateur d'une manière ou d'une autre. Que ce soit tapant, panoramique, défilement ou peu importe. J'ai passé des heures à essayer de déboguer cela. Il ne semble pas que la file d'attente principale est bloquée et j'ai réduit le problème à ses os nus. Le contrôleur viewWillAppear
du contrôleur de vue présenté de manière modale n'est simplement pas appelé jusqu'à ce que j'interagisse à nouveau avec l'interface utilisateur.ViewController Modal Présentation n'apparaît pas
Quels pourraient causer ce symptôme?
Devrions-nous pouvoir le deviner sans code? –
vous avez peut-être défini this 'parentVC.present (testVC, animé: true, completion: nil)' dans la file d'attente asynchrone de répartition. Partagez votre code. – Krunal
@Rob queue principale était la première chose que je pensais et vérifié pour .. J'ai jeté cela affirmer dans une bonne mesure et aucune exception. c'est sur le fil principal. –