UIStoryBoard obtenir une première vue contrôleur de ApplicationDelegate
J'ai un protocole que mon ApplicationDelegate met en œuvre. Je veux la transmettre à la première vue-contrôleur définie dans un story-board. Comment puis-je obtenir un accès à partir de la méthode?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
OriginalL'auteur Aran Mulholland | 2011-11-06
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas si je suis la compréhension correctement à la question, je pense que vous vous demandez comment obtenez-vous la première viewController dans un storyboard. Pour obtenir ce que vous appelez,
Changer le nom de la table de montage séquentiel pour l'adapter à votre nom, MainStoryboard est juste le nom par défaut. L'espoir c'est ce que vous cherchez.
Edit:
Cela devrait le faire
UIViewController *vc; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){ UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainiPadStoryboard" bundle:nil]; vc = [storybord instantiateInitialViewController]; } else{ UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainiPhoneStoryboard" bundle:nil]; vc = [storybord instantiateInitialViewController]; }
Assez sûr que c'est de saisir une nouvelle copie, de ne pas l'existant.
Si vous ne voulez pas coder en dur le storyboard nom, qui, comme Scott points seront différents pour iPhone et iPad le nom est défini dans l'info.fichier plist, il peut être extrait comme suit: NSString *storyBoardName = [[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"]; self.storyboard = [UIStoryboard storyboardWithName:storyBoardName bundle:[NSBundle mainBundle]];
OriginalL'auteur Scott Sherwood
Plutôt que de créer de nouveaux copie de votre storyboard à l'aide de
vous pouvez mettre dans votre délégué d'application du fichier d'en-tête de cette propriété
et dans cette méthode, il suffit d'attribuer soi-même.de la fenêtre.rootViewController à la propriété
Cela devrait fonctionner, parce que dans la fenêtre de propriété du délégué d'application du protocole est l'accès à rootViewConroller et ce contrôleur est initialViewController si vous utilisez des story-boards.
Oui, ce devrait être la accepté de répondre.
OriginalL'auteur Peter Stajger
Swift 2.0 mise en Œuvre de ces qui voulait.
Vous pouvez modifier la STROYBAORD et contrôleur de vue identifiant. Aussi o
J'ai édité la réponse. De l'espoir, même un IOS débutant peut comprendre maintenant.
mais vos solutions crée un nouveau point de vue contrôleur tandis que le @aran était à la recherche d'une solution pour obtenir la première vue-contrôleur. Actuellement accepté de répondre n'est pas une bonne réponse.
Actuellement accepté réponse n'est PAS ma réponse. Son Par Scott Sherwood. Si la bonne réponse n'est pas bon, pourquoi ne pas ajouter à la réponse correcte que de faire des commentaires sur les autres répondre. Aussi la façon dont vous deside anwers pour d'autre problum ? Seulement la question de carthame (Aran Mulholland)pouvez la marquer comme réponse correcte. Aran Mulholland marqué la réponse comme correcte parce que cette solution fonctionne pour lui.
parce que la bonne réponse est déjà là (voir @PeterStajger un) et était à l'affiche de 2 ans après la question a été posée. Peut-être que la personne n'accepte l'a accepté car il n'y a pas de meilleure réponse à l'époque. AranMulholland veut, dans sa question initiale, pour obtenir le premier-vue-contrôleur instance existante. Donner un nouveau, dans ce contexte, n'aurait pas de sens.
OriginalL'auteur Chamath Jeevan