Ich möchte eine UIView so positionieren, dass sie in der Mitte sowohl auf 3,5 "als auch auf 4" Retina-Bildschirmen erscheint. Was ist der beste Weg, dies zu tun? Wenn ich alle Autosizing-Bars abstelle, würde ich erwarten, dass sie auf die Mitte des Bildschirms ausgerichtet wird, aber das scheint nicht zu passieren.
Ich bin glücklich, das neue Autolayout zu verwenden, aber ich weiß nicht, wie ich es dazu bringen soll.
Befolgen Sie diese Schritte für Ihr XIB, und Sie sollten die richtige Größenanpassung für Ihre Ansichten erhalten:
Um nahtlose iOS4-Kompatibilität zu gewährleisten, stellen Sie zunächst die Größe der oberen Ansicht auf Retina 3.5 ein.
Entfernen Sie den Größenparameter für die Draufsicht und setzen Sie ihn auf "none". Sie sollten nun eine Hauptansicht mit der richtigen Größe, aber ohne eine feste Größeneinstellung haben.
Aktivieren Sie unter der Registerkarte "Größeninspektor" die gesamte vertikale Skalierung für die obere Ansicht.
Führen Sie für jede Unteransicht die folgenden Schritte durch
Speichern Sie Ihre Änderungen. Überprüfen Sie, ob Ihre Autorisierung erfolgreich war, indem Sie die Draufsicht auswählen und die Größe auswählen: "Retina 4 Full Screen". Wenn Sie dies tun, sollte Ihre Ansicht wie Ihr beabsichtigtes Ergebnis aussehen.
Machen Sie die Änderung in 5 rückgängig (damit die Ansicht in der xib wieder die Größe 3,5 hat, aber die Option Größe auf "Keine" eingestellt ist, speichern und starten Sie Ihre App.
Dies funktioniert auch für iOS4, da die Größe der Ansicht bereits für Retina 3.5 angepasst ist. Daher wird für die ältere Bildschirmgröße keine automatische Anpassung verwendet.
Manchmal ist es nicht möglich, für alle Elemente genau die richtige Größe / Positionierung zu erhalten. In diesen Fällen müssen Sie die Position der Ansichtsgröße für die Bildschirmgröße von 4 "programmgesteuert ändern.
So zentrieren Sie die Ansicht in der übergeordneten Ansicht (Container) in IB mit automatischem Layout:
Sie können das automatische Layout jedoch nur verwenden, wenn Sie iOS 6 und höher unterstützen. Wenn Sie frühere Versionen des Betriebssystems verwenden, müssen Sie andere Ansätze verwenden (z. B. Zentrierungsansicht mit Code, wie Eric vorgeschlagen hat)
Tags und Links ios xcode autolayout interface-builder alignment