2011-11-07 2 views
2

J'écris ma première application universelle, j'ai converti mes plumes pour qu'il y ait des versions iPad et iPhone.iOS Universal App - Accès aux différentes plumes pour iPad et iPhone

La version iPad se trouve dans le dossier Ressources-iPad et s'appelle 'InfoViewController-iPad.xib'. La version iPhone dans le dossier principal et appelé « InfoViewController.xib »

Je l'action suivante pour montrer la xib pertinente

-(void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event { 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 
     infoViewController = [[InfoViewController alloc] initWithNibName:@"Resources-iPad/InfoViewController-iPad" bundle:nil]; 
    } 
    else 
    { 
     infoViewController = [[InfoViewController alloc] initWithNibName:@"InfoViewController" bundle:nil]; 
    } 

    infoViewController.delegate = self; 
    infoViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

    [self presentModalViewController:infoViewController animated:YES]; 

    [infoViewController release]; 

} 

Lorsque cela fonctionne sur l'iPhone, il fonctionne très bien, mais il se bloque lors de l'exécution sur l'iPad. Toute aide serait vraiment appréciée

+0

Les réponses de nom de dossier sont correctes, mais vous auriez vraiment dû trouver où il se plantait, et remarqué que infoViewController était nul. Puis essayé de comprendre cela. –

Répondre

1

Vous n'avez pas besoin de mettre le nom du dossier dans le nom de la plume pour la version iPad, il sera trouvé tant qu'il a un nom différent de celui de la version iPhone.

Si la suppression du dossier initWithNibName ne fonctionne pas pour vous, modifiez votre question et publiez les résultats du backtrace depuis la console.

+0

Vous aviez raison le nom du dossier n'était pas nécessaire. Cependant, pour une raison quelconque, j'ai également dû supprimer l'InfoViewController-iPad du projet (la référence uniquement), puis l'ajouter à nouveau. – CarlG

0

Vous ne devriez pas avoir besoin du préfixe Resources-iPad/ sur le nom de la pointe d'iPad. iOS sait comment trouver des ressources dans votre bundle. La hiérarchie des dossiers que vous voyez dans Xcode est simplement pour organiser les fichiers et pour le bénéfice du développeur.

Questions connexes