Wie positioniere ich die Ansichten im Interface Builder für beide 3.5" und 4" Retina?
Möchte ich die position einer UIView so erscheint es in der Mitte auf beide 3.5" und 4" Retina-Bildschirme. Was ist der beste Weg, dies zu tun? Wenn ich schalten Sie alle die automatische Skalierung der Seiten bars würde ich erwarten, dass es um das ausrichten an der Mitte von dem Bildschirm, aber dies scheint nicht zu geschehen.
Ich bin glücklich, zu nutzen, die neue Autolayout, aber ich weiß nicht, wie man es zu machen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Befolgen Sie diese Schritte für Ihre XIB und Sie sollten immer mit der richtigen Größenanpassung für Ihre Ansichten:
Nahtlose iOS4-Kompatibilität, beginnen Sie mit der Einstellung der Ansicht von oben Größe auf Retina 3,5 Größe.
Entfernen Sie den parameter "Größe" für die Ansicht von oben und legen Sie es auf "none". Sie sollten nun eine Haupt-Ansicht mit der korrekten Größe, aber ohne eine Feste Größe option.
Schalten Sie alle automatische Skalierung der Seiten vertikal für die top-Ansicht unter dem "Size inspector" - Registerkarte.
Für jede der Untersichten tun die folgende
Speichern Sie Ihre änderungen. Prüfen Sie, ob Sie erfolgreich waren mit Ihrem autoresizing durch Auswahl der Ansicht von oben und wählen Sie " Größe: "4 Retina Full Screen". Wenn Sie dies tun, Ihrer Ansicht Aussehen sollte das gewünschte Ergebnis.
Die änderung rückgängig machen, in 5 (so, dass die view in der xib-hat der 3.5 Größe wieder, aber die Größe-option auf "None" gesetzt, speichern Sie und führen Sie Ihre app aus.
Dies funktioniert mit iOS4 auch, weil die Größe der anzeigen ist bereits optimiert für Retina-3.5 somit keine automatische Skalierung der Seiten verwendet wird, für die älteren Bildschirm Größe.
In einigen Fällen ist es nicht möglich, die genaue richtige Größe/Positionierung für alle Elemente. In diesen Fällen müssen Sie programmgesteuert ändern Sie die Aussicht Größen-position für den 4" - Bildschirm Größe.
Zur center-Sicht auf seine Eltern (container) betrachten, in IB mit autolayout:
Allerdings können Sie verwenden, autolayout nur, wenn Sie Unterstützung iOS 6 und höher, wenn Sie den Gegner früheren OS-Versionen müssen Sie auf andere Methoden (z.B. Einstellung Zentrierung Ansicht mit code, wie Eric vorgeschlagen)
Hier ist, wie Sie tun würden Sie es manuell (ohne AutoLayout):