2010-12-30 4 views
1

Ich entwickle eine MonoTouch-App und wenn ich sie entweder auf dem iPhone 4 oder dem Simulator starte, läuft sie bei 320x480 statt 640x960. Ich bin in den Simulator gegangen und habe Hardware-> Gerät-> iPhone (Retina) gewählt, aber der Simulator scheint immer noch pixelverdoppelt zu sein und UIScreen.MainScreen.Bounds ist immer noch 320x480 Pixel groß.MonoTouch: App kann nicht in hoher Auflösung (640x960) auf Simulator oder Telefon ausgeführt werden

Meine App ist eine universelle Anwendung und es läuft auf dem iPad (sowohl Gerät und Simulator) mit der richtigen Auflösung.

Gibt es eine Einstellung, die mir fehlt, die dem Gerät mitteilt, dass meine App mit der höheren Auflösung ausgeführt werden soll, wenn sie auf dem Gerät verfügbar ist?

+0

Sie tun haben Sie eine hohe Auflösung von PNGs in Übereinstimmung mit Ihren normalen PNGs? Wenn ja, wie werden sie benannt? –

Antwort

1

Da Hi-Res eine Funktion neueren iOS-Versionen ist, stellen Sie sicher, dass Sie das SDK in Ihren Projekteinstellungen auf 4.x und nicht auf die ältere 3.x-Einstellung festlegen.

Darüber hinaus gibt es viele weitere Details, die Sie berücksichtigen wollen, schrieb ich einen Blog-Post auf, was ich tat, um meine Open Source zu machen TweetStation die Retina Display unterstützen:

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

+0

Toller Artikel, danke. Ich habe jetzt meine App Einstellung ContentScaleFactor = 2, und das funktioniert für mich auf dem Retina-Display. Das Problem, das ich jetzt habe, ist, dass ich auf dem iPad und iPhones ohne Netzhaut, ContentScaleFactor = 1 wünsche, so dass mein renderbuffer der Auflösung des Geräts entspricht. Was ist der beste Weg, um beim Start zu bestimmen, ob ich ContentScaleFactor = 2 setzen soll? Oder um es anders zu formulieren, wie kann ich iOS fragen: "Wie groß ist die Auflösung des Geräts, auf dem ich arbeite, in Pixeln (keine Punkte)?" – Mike

+0

UIScreen.MainScreen.Scale gibt Ihnen die Nummer 1.0 oder 2.0 –