2011-02-02 2 views
6

J'ai une application, par exemple 'MyApp', qui charge par défaut le contrôleur de vue 'MyAppViewController' à chaque lancement de l'application. Plus tard, j'ai ajouté un nouveau contrôleur de vue 'NewViewControler' au projet. Je veux maintenant que 'NewViewController' soit mon contrôleur de vue par défaut qui se charge quand l'application se lance.Comment modifier le contrôleur View View par défaut chargé lors du lancement de l'application?

S'il vous plaît laissez-moi savoir quels changements je dois faire dans mon projet pour y parvenir.

Répondre

7
  1. Ouvrez MainWindow.xib et remplacez MyAppViewController par NewViewController.
  2. Dans votre classe de délégué d'application, remplacez la propriété de MyAppViewController par celle de NewViewController. Connectez NewViewController à sa nouvelle prise dans Interface Builder.
  3. Dans application:didFinishLaunchingWithOptions:, ajoutez la vue de NewViewController à la fenêtre au lieu de celle de MyAppViewController.
+0

RE # 1: J'ai trouvé que si vous venez de changer de classe de MyAppViewController à NewViewController, cela semble parfois confondre Interface Builder. Mon application se construit, mais quand je l'exécute, elle plante, essayant toujours de charger l'ancien type de View Controller, que j'avais bien sûr supprimé. J'ai été en mesure de résoudre le problème en supprimant MyAppViewController dans MainWindow.xib, puis en ajoutant un View Controller et en changeant sa classe en NewViewController, puis en rebranchant la sortie App Delegate sur NewViewController. YMMV. – gulchrider

2

Votre fichier NIB principal est probablement configuré sur "MainWindow", vérifiez votre fichier * -Info.plist.

Si c'est le cas, vous pouvez ouvrir MainWindow.xib dans Interface Builder. Vous devriez voir un élément View Controller. Ouvrez la fenêtre de l'inspecteur et modifiez l'identité de la classe pour qu'elle pointe vers votre nouvelle classe. Cela devrait prendre soin d'instancier votre classe.

Comme cela se sent comme une question « débutant » (s'il vous plaît pardonnez-moi si je me trompe), je vous recommande aussi vivement l'article suivant:

iPhone Programming Fundamentals: Understanding View Controllers

m'a aidé à comprendre toute chose ViewController et IB interaction ..

+0

Comme Ole Begemann mentionne que vous devriez en effet également changer les références dans l'AppDelegate et le câbler avec IB.Les articles liés le démontrent également. – adnans

0

Quant à moi avec xcode 4.3.3, tout ce que j'avais à faire était simplement de remplacer toutes les références de 'MyAppViewController' par 'NewViewController' dans les fichiers AppDelegate h et m.

Peut-être que toutes les autres étapes ont été supprimées dans les versions les plus récentes de xcode.

Hope this helps.

15

Il est facile, il suffit:

  • Ouvrez votre Storyboard
  • Cliquez sur le contrôleur de vue correspondant à la vue que vous voulez être la vue initiale
  • Ouvrez les attributs Inspecteur
  • Sélectionnez le Case à cocher "Est View View Controller" dans la section View Controller
Questions connexes