Y a-t-il une manière conventionnelle de déterminer si une vue est chargée à partir de l'application en mode arrière-plan? p>
in 3.x, je vous fierais sur la vueDidLoad pour faire une certaine initalisation, etc., cependant, ce n'est pas le cas pour 4.x, car vous ne pouvez pas compter sur la méthode de la vue ViewDidLoad à appeler. P>
J'aimerais éviter de mettre des drapeaux supplémentaires pour la détecter dans l'Appdelegate, je préférerais utiliser une manière fiable de le faire dans l'UIViewController, mais je ne peux pas sembler trouver quoi que ce soit dans le cycle de vie d'un UIViewController qui pourrait m'aider ici. P>
Des idées? Comment gérez-vous de telles situations? p>
3 Réponses :
- (void)viewDidLoad
Oui, je sais que Viewwillappear sera appelé comme le nom le suggère, je ne peux pas baser le comportement sur cette méthode, car il sera également appelé par le cadre lorsque les vues sont sautées de la pile pour montrer celui dont nous parlons. Désolé si cela n'était pas clair de mon post original.
@KASPA - En fait, la viewwillappear n'est pas appelée lors de son retour d'arrière-plan ( Stackoverflow.com/questions/5277940/... )
Viewwillappear ne s'appelle pas.
Le cycle de vie de UIViewController n'a aucune méthode qui sera appelée lors du déplacement d'une application de l'arrière-plan au premier plan.
Lorsque vous souhaitez que cet événement déclenche un bloc de code spécifique, vous devez ajouter un observateur de notification nommée Gardez à l'esprit que vous devrez supprimer l'observateur pour l'empêcher de déclencher tout au long de l'application. P> P> . Nom.UIAPPLICATIONWillenterForeForeFore Code>. Un exemple de ce serait: p>
Abonnez-vous à la notification P>
override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) NotificationCenter.default.removeObserver(self) }