2010-07-18 13 views
5

Ich bin immer ein wenig verwirrt darüber, wie Sie den Simulator verwenden, um Anwendungen zu erstellen, die die neue höhere Auflösung des iPhone 4.iPhone Retina-Display im Simulator

Ich würde nur zulassen, wenn die Auswahl des iphone4 Simulator unterstützen müssen um die App auf dem [[UIScreen mainScreen] bounds] zu laufen, würde mir 960x640 zurück geben, aber stattdessen gibt es mir immer noch die alte Auflösung (480x320)?

Obwohl der iphone4 Simulator als ein riesiges Telefon auf meinem Bildschirm erscheint, scheint es, dass es immer noch aus nur 480x320 Pixel besteht. Zum Beispiel, wenn ich etwas auf Linie 700 anzeigen möchte, wird es einfach vom Bildschirm fallen?

Danke für irgendeinen Eingang auf diesem.

Antwort

8

UIScreen verfügt über eine neue scale-Methode. Multiplizieren Sie die Grenze mit der Skalierung, um die Pixel zu erhalten. Sie können sich unskalierte Werte als Punkte oder virtuelle Pixel vorstellen.

Beachten Sie, dass UIScreen seit mindestens 3.2 eine Skalierungsmethode hat, aber erst seit 4.0 dokumentiert wurde. Ich überprüfe UIImage für Maßstab, auch wenn ich über UIScreen wissen möchte.

UIScreen *mainScreen = [UIScreen mainScreen]; 
CGFloat scale = [mainScreen scale]; 
CGRect bounds = [mainScreen bounds]; 
CGRect pixels = bounds; 

if (scale > 0) { 
    pixels.origin.x *= scale; 
    pixels.origin.y *= scale; 
    pixels.size.width *= scale; 
    pixels.size.height *= scale; 
} 
+0

Thx für Ihre Antwort. Eine Chance, meine zweite Frage auch zu beantworten? – Oysio

4

In Bezug auf Ihre zweite Frage zur Auflösung, vielleicht wird dies Ihnen helfen.
Ab iOS4 gibt es Pixel, Punkte und Skalierungsfaktoren.

[[UIScreen mainScreen] bounds] 

bounds will return points (480x320) nicht Pixel (960x640).
iOS4 Application Programming Guide (Punkte im Vergleich zu Pixel):

In iOS 4 und höher, die UIScreen, UIView, UIImage und CALayer Klassen einen Skalierungsfaktor aussetzen, die das für Sie die Beziehung zwischen den Punkten und Pixel erzählt bestimmtes Objekt. Vor iOS 4 wurde dieser Skalierungsfaktor mit 1,0 angenommen, aber in iOS 4 und später kann es entweder 1,0 oder 2,0 sein, je nach der Auflösung des zugrunde liegenden Geräts. In Zukunft können auch andere Skalierungsfaktoren möglich sein.

+0

Ich bekomme die Skala ganze Tme als 0 im Simulator .. irgendwelche Kommentare? –

Verwandte Themen