2010-12-30 2 views
1

Je développe une application MonoTouch et chaque fois que je la lance sur l'iPhone 4 ou le simulateur, elle fonctionne à 320x480 plutôt que 640x960. Je suis allé dans le simulateur et j'ai choisi Hardware-> Device-> iPhone (Retina), mais le simulateur semble toujours doublé en pixels et UIScreen.MainScreen.Bounds est toujours en 320x480.MonoTouch: Impossible de faire fonctionner l'application en haute résolution (640x960) sur simulateur ou téléphone

Mon application est une application universelle et fonctionne sur l'iPad (appareil et simulateur) à la bonne résolution.

Y a-t-il un paramètre qui me manque et qui indique au périphérique que mon application doit fonctionner à la résolution la plus élevée si elle est disponible sur l'appareil?

+0

-vous avoir un ensemble de PNG haute résolution en ligne avec vos PNG normaux? Si oui, comment sont-ils nommés? –

Répondre

1

Etant donné que la version haute résolution est une fonctionnalité des nouvelles versions d'iOS, assurez-vous que vous avez défini le SDK dans les paramètres de votre projet sur 4.x, et non sur l'ancien.

De plus, il y a beaucoup d'autres détails que vous voulez prendre en compte, je l'ai écrit un billet de blog sur ce que je l'ai fait pour rendre mon open source TweetStation soutenir le Retina Display:

http://tirania.org/blog/archive/2010/Jul-20-2.html

+0

Super article, merci. J'ai maintenant mon application ContentScaleFactor = 2, et cela fonctionne pour moi sur l'affichage de la rétine. Le problème que j'ai maintenant est que sur l'iPad et les iPhones sans rétine, je veux ContentScaleFactor = 1 donc mon renderbuffer correspond à la résolution de l'appareil. Quelle est la meilleure façon de déterminer au démarrage si je devrais définir ContentScaleFactor = 2? Ou pour reformuler, comment puis-je demander à iOS, "Quelle est la résolution de l'appareil sur lequel je suis, en pixels (pas de points)?" – Mike

+0

UIScreen.MainScreen.Scale vous donnera ce numéro 1.0 ou 2.0 –

Questions connexes