Comment faire NSBundle pathForResource:ofType: et UIImage imageWithContentsOfFile: échelle de poignée et de l'appareil modificateurs?
Dans mon iOS dossier de ressources, j'ai les images:
foo~iphone.png
foo@2x~iphone.png
foo~ipad.png
foo@2x~ipad.png
Je de les charger avec:
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];
Expérimentalement:
Sur l'iPhone, filename
est /path/to/bundle/foo~iphone.png
, et sur la rétine de l'iPhone, il charge le @2x
version.
Sur l'iPad, filename
est /path/to/bundle/foo~ipad.png
, et sur la rétine d'iPad, il charge le @2x
version.
Qui est, il charge l'image que j'avais de l'espoir, mais pathForResource
les poignées de l'appareil modificateur, et imageWithContentsOfFile
gère l'échelle de modificateur.
J'aimerais savoir pourquoi. Le la documentation de pathForResource
ne dit rien à propos de l'appareil modificateurs, et la la documentation de imageWithContentsOfFile
ne dit rien sur l'échelle des modificateurs.
Est-il séparé de la documentation qui indique précisément ce que chaque fonction?
comme je l'ai dit, sur l'iPhone,
filename
est /path/to/bundle/foo~iphone.png
, donc je sais que c'est seulement à obtenir le nom de la non-@2x version. Lorsque ce nom est introduit dans UIImage
, je reçois le haute résolution la version.
OriginalL'auteur Jesse Beder | 2012-06-18
Vous devez vous connecter pour publier un commentaire.
L'explication de
imageWithContentsOfFile
est dans la documentation connexe, pas dans leUIImage
de la documentation elle-même:Je ne sais pas quels sont les documents qui explique le comportement de
pathForResource
.UIImage
de la documentation ou de laimageWithContentsOfFile
documentation qui parle de la mise à l'échelle.Et je suis aussi intéressé par pourquoi
pathForResource
les poignées de l'appareil modificateur.Ma réponse a été mis à jour pour inclure des citations de la documentation parler de différentes UIImage méthodes et le pourquoi de leurs actions de faire ce qu'ils font. Il y a aussi la discussion à propos de l'appareil modificateur. Si vous êtes à la recherche pour plus d'informations sur ce je vous recommande de la WWDC de vidéos qu'ils fournissent des exemples et mise en œuvre de toutes ces techniques.
Merci; j'ai édité votre réponse un peu - n'hésitez pas à le tordre si vous ne l'aimez pas. Toute réflexion sur la
pathForResource
problème? (Je suis vraiment à la recherche de la documentation, pas de vidéos d'exemples.)Je vais rechercher autour et voir ce que je peux trouver. Je suis d'accord, Apple a tendance à offrir beaucoup plus en profondeur les explications et les techniques de leurs processus au cours de la WWDC que dans leur documentation. Cela a été un thème commun de la leur depuis le jour 1 de l'App Store dans mon expérience. Bien que regarder leurs vidéos peut être un processus fastidieux, j'ai certainement appris des techniques de pointe ainsi que de bonnes habitudes en observant leurs exemples et suivant leur logique de chemin. Quelques exemples sont complexes juste pour montrer les différentes techniques pour parvenir à un résultat final, même si cela peut ne pas être la "meilleure" solution.
OriginalL'auteur Mark McCorkle