iOS: Utilisation de l'appareil modificateurs pour le chargement des fichiers xib?

Vous pouvez utiliser un appareil modificateur (c'est à dire, ~ipad) afin de fournir un dispositif-clé spécifique dans Info.plist, et pour spécifier un périphérique spécifique lancement de l'image (par Défaut.le format png pour iPhone, et par Défaut~ipad.le format png pour iPad, par exemple). Ces deux choses sont spécifiquement mentionnés dans Apple Docs, mais ils ne disent pas que cela fonctionnera pour tout autres types de fichiers.

J'ai découvert (par hasard) que cela fonctionne pour le chargement .xib fichiers via initWithNibName:bundle:. Ainsi, par exemple, je peux avoir Mavue.xib et Mavue~ipad.xib, et ce code:

MyViewController *viewController = [[MyViewController alloc] 
                                     initWithNibName:@"MyView" bundle:nil];

... totalement la charge de Mavue~ipad.xib sur un iPad, et Mavue.xib sur d'autres appareils.

Donc, 1) Est-ce documenté quelque part? Je ne pouvais pas trouver n'importe quel Apple docs. C'est sûr que plus maniable que la vérification de UI_USER_INTERFACE_IDIOM() et de coder en dur les deux différents noms de plume partout, mais j'ai un peu de ne pas lui faire confiance si elle n'est pas documenté.

Et, 2) personne Ne sait quelle est la version de l'iOS cela a commencé à travailler dans? J'ai seulement essayé en 4.2, et ça fonctionne. Appareil modificateurs en général (même pour la documentation de choses énumérées ci-dessus) sont 4.0 minimum.

  • Bon spot. Assez sûr c'est de 4.0 à partir de, certainement pour des applications universelles; mais peut-être que cela a fonctionné sur 3.2 sur iPad? En regardant en arrière au bundle guide de programmation, il peut toujours utiliser des images comme des exemples pour le chargement de ressources, mais en lisant entre les lignes, c'est que toutes les ressources chargé par l'app bundle abandon par le même mécanisme?
InformationsquelleAutor zpasternack | 2011-03-04