2014-06-10 6 views
14

Das mag albern klingen, aber wenn ich mit Größen in Xcode arbeite, ist die Gesamtbildgröße gleich 320 * 568 (Breite * Höhe). Ich bin damit zufrieden. Aber die Auflösung des Telefons ist eigentlich anders. Das iPhone 4S ist 640 * 960 & die 5 und nächste Generationen sind 640 * 1136.Was ist die Maßeinheit in Xcode

Ich weiß, das letzte ist genau doppelt so viele wie Xcode als Einheiten verwendet, so meine Frage ist:

Welche Maßeinheit tut XCode Einsatz? Wenn es Pixel, warum nicht verwenden Sie die Handy-Größe/Auflösung als Referenz?

+0

Ich weiß nicht, ob ich Ihr Problem richtig verstanden habe, aber ich habe meine Antwort erweitert, um Ihnen zu helfen, besser zu werden. –

Antwort

15

Es verwendet Punkte. In Retina-Geräten entspricht 1 Punkt zwei Pixeln. In Nicht-Retina-Geräten entspricht 1 Punkt 1 Pixel.

Schauen Sie sich die Apple-Dokumentation zum Zeichnen und Drucken auf ios an. https://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/GraphicsDrawingOverview/GraphicsDrawingOverview.html#//apple_ref/doc/uid/TP40010156-CH14-SW7

Speziell der Abschnitt "Punkte Versus Pixels"

bearbeiten zu Ihrem iPhone 4S vs 5 und der nächsten Generation Frage zu beantworten. Dies sind die tatsächlichen Bildschirmgrößen. Die Beschlüsse sind unterschiedlich. Das iPhone 4S und 4 Bildschirme sind 320x480 Punkte oder 640x960 Pixel. iPhone 5, 5C und 5S Bildschirme sind 320x568 Punkte oder 640x1136 Pixel. Wenn Sie mit xibs arbeiten, sehen Sie möglicherweise eine der vorherigen Größen, da xibs eine Größe definiert haben. Das ist der Punkt, an dem automatische Layouteinschränkungen auftreten. In der XIB oder im Storyboard wird angegeben, wie die Größe der Elemente auf dem Bildschirm geändert werden soll. Sie können Struts und Federn verwenden, um zu entscheiden, wie Sie Elemente in Ihrer Ansicht anstelle des automatischen Layouts verschieben. Es ist in Ordnung. Auch wenn Ihr xib/stackboard die Größe von iphone5 hat, wenn Sie die Größe des Bildschirms in Ihren viewDidAppear-Methoden überprüfen, wenn Sie die App auf einem iPhone4/4S-Simulator oder -Gerät ausführen, sehen Sie, dass Ihre Ansichtsgrenzen die Größe des entsprechenden Geräts haben . Es ist besser, Punkte anstelle von Pixeln zu verwenden, da dies dem Entwickler hilft, von Auflösungen zu abstrahieren. Sie müssen sich nicht darum kümmern, wie viele Pixel ein Punkt sind, Sie suchen nur nach Punkten auf dem Bildschirm und lassen das System sich um die Auflösung kümmern.

+0

Ich habe gelesen, dass Punkte vs Pixel hängt von der PPP (Punkte pro Pixel) Verhältnis, und 1 Punkt entspricht genau einem Pixel nur bei der Verwendung von 72pi (weil ein Pixel = 1/72 eines Punktes). Deshalb habe ich diese Antwort von Anfang an entschieden. Aber ich schätze, Ihr Link wird alles klarer für mich machen ;-) –

+0

Für Punkte vs. Pixel und Druckerpunkte, siehe meine Antwort hier http://stackoverflow.com/questions/8687124/printers-points-vs-ios- Punkte/8687316 # 8687316 – jrturton

+0

Der Vollständigkeit halber, hier ist ein anderes Ich fragte nach dem [Thema] (https://stackoverflow.com/questions/22138078/what-are-the-units-of-constraint-points-in-autolayout/22138205 # 22138205) –