Comment obtenir la vue active dans une application iOS sur l'app délégué?
comment puis-je obtenir la vue actuellement active (la vue principale actuellement visualisé par l'utilisateur) à partir de l'app délégué pour les références souci?
- Définir la vue principale. Il peut y avoir plusieurs
UIView
les objets (et les sous-classes) sur l'écran à la fois. Laquelle aimeriez-vous espérer obtenir? - Dire que l'utilisateur est actuellement sur un écran pour effectuer une action spécifique, je veux obtenir le viewcontroller pour le conteneur affichage pour l'écran
- Vous devez garder une trace de qui vous-même. Comme les points de vue, il pourrait y avoir plus d'une vue contrôleur active sur l'écran.
Vous devez vous connecter pour publier un commentaire.
Toutes les meilleures réponses ne fonctionne pas avec les modaux présenté vues!
Utilisez ce code à la place:
UIView * topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
Il dépend de la façon dont votre application est mis en place.
Généralement, votre délégué d'application aura une vue principale du contrôleur de la propriété qui vous permettra de l'obtenir.
Pour obtenir votre délégué d'application
Si votre application dispose d'une manette de navigation de la propriété dans l'app delegate, vous pouvez faire quelque chose comme cela.
J'ai trouvé cela et il fonctionne très bien pour moi, pour tous les types de enchaîne et à la vue des contrôleurs.
vous pouvez utiliser
[appDelegate.navigationController.topViewController class]
de journal de la classe du contrôleur ou d'obtenir le titre de propriété à savoir lequel c'est.Espère que cela vous aide
N'importe où dans l'application, vous pouvez obtenir votre rootViewController Vue aussi comme ça:
Essayer Eric réponse: