2010-09-03 9 views
1

Je charge mes fichiers xib à travers: initWithNibName programatically. Si je définis quelque chose comme: [[LoginController alloc] initWithNibName:@"LoginController" bundle:nil];trouver xib pour iPad

Ne devrait-il pas charger LoginController.xib s'il est exécuté sur l'iPhone et rechercher LoginController-iPad.xib sur l'iPad? Cela n'arrive pas à mon code, dois-je sélectionner le bon manuellement ou est-ce que quelque chose ne va pas?

Merci d'avance!

+0

peut-être 'LoginController ~ ipad.xib' ... tilde + minuscule. Vous trouverez plus d'informations sur ces éléments dans la section Conventions de nommage de la documentation Apple. – holex

Répondre

1

Ceci est une vieille question, donc peut-être cette convention de nommage n'existait pas quand @shaggy frog a répondu à cette question, mais iOS devrait en effet charger le xib spécifique à l'iPad s'il est nommé correctement. Dans ce cas, votre nomination est légèrement, le schéma de nommage correct pour un xib spécifique iPad est

NameOfYourViewController~ipad.xib 

Notez que c'est un tilde (~) au lieu d'un tiret (-) et iPad est en minuscules .

3

Non, il n'y a rien dans la documentation qui suggère « -iPad » est un modificateur comme ressource valide pour initWithNibName:, ou que initWithNibName: prend en charge les modificateurs du tout.

BTW, .xib fichiers sont compilés à .nib fichiers par Xcode, de sorte que l'application ne voit jamais un .xib.