2016-10-11 5 views
0

Je suis en train de mettre à jour une de mes applications utilisant le schéma d'URL. Je l'habitude d'avoir l'application: méthode handleOpenURL en appdelegate.m avec le code suivant celui utilisé pour fonctionner correctement depuis longtemps (sans storyboards)Comment ouvrir un écran à partir de la méthode appdelegate.m handleOpenURL avec le menu coulissant et les storyboards REFrosted?

urlOpenedMsg2 *nextview=[[urlOpenedMsg2 alloc] initWithNibName:@"urlOpenedMsg2" bundle:Nil]; 


[self.navigationController pushViewController:nextview animated:YES]; 

Maintenant, j'ai mis à jour mon application avec REFrostedViewController Sliding Menu et storyboards. Dans la méthode hadleOpenURL, j'essaie juste d'ouvrir un nouvel écran "urlOpenedMsg2ViewController" et je ne peux pas l'ouvrir.

J'utilise le code suivant maintenant

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

    urlOpenedMsg2ViewController *nextview = [storyboard instantiateViewControllerWithIdentifier:@"urlOpenedMsg2"]; 

    [(UINavigationController*)self.window.rootViewController pushViewController:nextview animated:NO]; 

Maintenant, mon navigationViewController n'est pas self.window.rootViewController si la ligne suivante ne fonctionne pas et il ouvre l'écran d'accueil au lieu de l'écran urlOpenedMsg2

[(UINavigationController*)self.window.rootViewController pushViewController:nextview animated:NO]; 

Maintenant, j'ai RootViewController, NavigationViewController et MenuTableViewController pour REFrostedViewController et RootViewController est le contrôleur de vue initiale. Veuillez voir la capture d'écran ci-jointe

StoryBoards Setup

Je ne sais pas comment le résoudre. Comment ouvrir l'écran "urlOpenedMsg2ViewController" de la méthode appdelegate.m handleOpenURL?

Merci d'avance.

Répondre

0

Vous devez appeler comme ceci: -

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

    urlOpenedMsg2ViewController *nextview = [storyboard instantiateViewControllerWithIdentifier:@"urlOpenedMsg2"]; 

    UINavigationController *navigationVC = [[UINavigationController alloc] init]; 

    self.window.rootViewController = navigationVC; 

    [navigationVC pushViewController:nextview animated:NO]; 
+0

Salut, Merci cela a fonctionné. Maintenant, je peux ouvrir l'écran "urlOpenedMsg2". Mais maintenant le bouton de menu coulissant ne fonctionne sur aucun écran. La raison en est que nous avons changé rootViewController en navigationVC. Alors que le menu coulissant fonctionne lorsque View Controller initial est RootViewController (comme indiqué dans la capture d'écran que j'ai joint à la question d'origine). –

+0

Existe-t-il un moyen de faire de nouveau glisser le menu après l'écran "urlOpenedMsg2"? –