2011-07-04 5 views
2

J'ai suivi le même code exact que l'exemple TTCatalog de TTSplitViewController, en commençant par le code du délégué de l'application, le code TTSplitViewController, ainsi que le code du TTTableViewController. Cependant, lorsque je lance les applications, je reçois un écran vide.fenêtre vide avec TTSplitViewController

J'ai démarré à partir d'une application basée sur une fenêtre et j'ai supprimé le fichier nib, comme l'exemple de TTCatalog ne l'a pas.

Qu'est-ce que je fais mal ici?

Voici un code, dans mon délégué app didFinishLaunchedWithOptions je:

TTNavigator* navigator = [TTNavigator navigator]; 
    navigator.supportsShakeToReload = YES; 
    navigator.persistenceMode = TTNavigatorPersistenceModeAll; 

    TTURLMap* map = navigator.URLMap; 
    [map from:@"*" toViewController:[TTWebController class]]; 


    if (TTIsPad()) { 
     [map     from: @"tt://catalog" 
       toSharedViewController: [SplitViewController class]]; 

     SplitViewController* controller = 
     (SplitViewController*)[[TTNavigator navigator] viewControllerForURL:@"tt://catalog"]; 
     TTDASSERT([controller isKindOfClass:[SplitViewController class]]); 
     map = controller.rightNavigator.URLMap; 

    } 

et tout le reste est similaire à l'exemple TTCatalog. Je me demandais juste si quelqu'un peut me donner un pointeur sur la façon de créer une application TTSplitViewController, car c'est assez frustrant. L'exemple sur le TTCatalog semble si simple, mais lors de la réplication, tout échoue.

Pour un code complet, peut être téléchargé here

Répondre

1

Si vous avez créé un projet à l'aide d'un modèle de Xcode, cela signifie que votre délégué d'application est chargé à l'aide d'un fichier nib. Vous devrez le changer, car Three20 n'utilise aucun fichier nib.

ouvrir le fichier main.m, et le changement:

int retVal = UIApplicationMain(argc, argv, nil, nil); 

à

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 

(Remplacer @ "AppDelegate" avec votre nom de classe UIApplicationDelegate Cela devrait charger votre fenêtre principale dans l'appareil.

Notez également que la classe TTSplitViewController est un peu boguée.J'ai dû modifier du code dans three20 pour le faire fonctionner comme il se doit.Voir https://github.com/aporat/three20-splitview-example i Si vous voulez essayer ma version de TTSplitViewController.

+0

bonne capture, je l'ai cependant changé à @ "TestAppDelegate" et voit toujours une toile vierge ... avez-vous essayé de télécharger mon projet? – adit

+0

J'ai téléchargé une version récente qui utilise votre three20 modifié et les changements ci-dessus à http://dl.dropbox.com/u/19680269/TTSplitView_issue.zip. Cela ne fonctionne toujours pas ... – adit

+0

Votre application essaie toujours de charger un fichier nib pour la fenêtre principale. ouvrez votre fichier plist et essayez de supprimer la ligne de fichier nib MainWindow. cela fonctionne pour moi – aporat

Questions connexes