2010-06-15 4 views
0

Je suis confus par la relation entre l'appDelegate, MainWindow et les différentes vues (et les contollers correspondants). Ce que je veux réaliser est immédiatement après le lancement de l'application, le contrôle de la main à une classe "mainController" qui à son tour charge les fichiers nib comme nécessaire (pour minimiser la logique du programme dans le délégué de l'application). Tout d'abord, j'ai besoin de charger un écran de connexion, et après la connexion réussie le contenu de l'application, dont la logique que j'ai lu idéalement devrait résider en dehors de l'appDelegate, d'où la classe "mainController".Structurer une application iPhone avec plusieurs vues

Est-ce que le "mainController" doit être connecté avec un fichier nib (vierge)? Si ce mainController sous-classe la classe UIViewController, il ne contient aucun contenu d'interface graphique et est instancié avec [window addSubview: mainViewController.view]; [fenêtre makeKeyAndVisible]; ? Ou devrais-je utiliser la syntaxe alloc/init. Dans quel cas, comment puis-je référencer la fenêtre à partir des (sous) vues afin d'ajouter des vues par programme?

Tous les conseils, astuces ou tutoriels seraient utiles.

Répondre

1

Vous pouvez avoir à la fois UIViewController qui obtient sa vue à partir d'un fichier XIB et une où vous construisez les UIViews et les ajoutez par programmation. Cela dépend de la situation ce qui est le plus facile. Interface Builder ne peut pas faire tout ce que vous pouvez faire en écrivant votre propre vue, mais pour la plupart des vues, Interface Builder est suffisant.

Vous devriez commencer par lire ce guide Apple, il vous guide à travers les différentes façons d'utiliser UIViewControllers: View Controller Programming Guide

Questions connexes