Visible en cours-vue-contrôleur de vérification
Je vérifie de mon AppDelegate
classe si mon ParentEndViewController
est actuellement la classe visible ou pas.
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle: nil];
ParentEndViewController *parent = [storyboard instantiateViewControllerWithIdentifier:@"ParentEndViewController"];
if (parent.isViewLoaded && parent.view.window){
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:displayName
message:body
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
NSLog(@"current view is parent!");
}
else{
NSLog(@"current view is not parent!");
}
C'est l'impression que current view is not parent!
". Mais je suis sûr que la vue en cours d'exécution sur mon application est ParentEndViewController
, j'.e elle doit imprimer current view is parent!
.
Où est le problème?
suivez ce lien:stackoverflow.com/questions/12807922/...
OriginalL'auteur Leo | 2013-04-29
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous instancier un nouvel objet de
ParentEndViewController
lorsque vous appelez la[storyboard instantiateViewControllerWithIdentifier:@"ParentEndViewController"];
cette instance n'est pas le même que l'instance racine de votre vue-contrôleur.Si vous êtes à la vérification de la vue racine contrôleur de votre application dans l'app delegate, vous devriez essayer
Si vous êtes à la vérification de la dernière vue-contrôleur de votre manette de navigation vous devriez essayer quelque chose comme:
Dans ce méthode de votre délégué d'application que vous faites le chèque ?
dans cette méthode: "- (void)xmppStream:(XMPPStream *)de l'expéditeur didReceiveMessage:(XMPPMessage *)le message". comment puis-je attraper le ParentEndViewController de AppDelegate pour exécuter une action ou fonctionnalité?
Si vous utilisez un UINavigationController comme une racine de vue-contrôleur de votre application, vous pouvez utiliser ma dernière partie de ma réponse, mais au lieu d'utiliser l'auto.navigationController pour obtenir la valeur liquidative du contrôleur, vous devez utiliser:
UINavigationController *navController = (UINavigationController)self.window.rootViewController
après que vous pouvez obtenir la dernière vue contrôleur de laUINavigationController
pile en appelant[[navController viewControllers] objectAtIndex:[navController viewControllers].count - 1];
. J'espère que cela va vous aider, il est difficile de trouver une solution car je ne connais pas la structure de votre prjbro je ne sais pas combien de fois je dois remercier u! son travail maintenant! u r génial! 🙂
OriginalL'auteur danypata
Vous pouvez le vérifier en
window
propriété:OriginalL'auteur Saad Ur Rehman
Je suppose que lorsque vous vérifiez dans l'Appdelegate la ParentEndViewController n'est pas le point de vue actuel, parce que l'application est toujours coincé dans le loadingprocess.
Si vous mettez ce code dans les viewDidAppear de ParentEndViewController vous devriez obtenir le bon résultat.
bien sûr, j'ai juste besoin de savoir ce que vous voulez atteindre avec ce test. Pourquoi avez-vous besoin de savoir si ParentEndViewController est l'actuel viewController?
Je reçois un message dans AppDelegate classe & si ma vue est ParentEndViewController alors, je veux montrer l'alerte de vue avec ce message.
OriginalL'auteur Amandir