Wie positioniere ich Ansichten im Interface Builder für 3.5 "und 4" Retina?

8

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.

    
jowie 22.11.2012, 15:46
quelle

3 Antworten

21

Befolgen Sie diese Schritte für Ihr XIB, und Sie sollten die richtige Größenanpassung für Ihre Ansichten erhalten:

  1. Um nahtlose iOS4-Kompatibilität zu gewährleisten, stellen Sie zunächst die Größe der oberen Ansicht auf Retina 3.5 ein.

  2. 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.

  3. Aktivieren Sie unter der Registerkarte "Größeninspektor" die gesamte vertikale Skalierung für die obere Ansicht.

  4. Führen Sie für jede Unteransicht die folgenden Schritte durch

    • Wählen Sie die Ansicht aus, und wechseln Sie zur Registerkarte Size Inspector
    • Wählen Sie die Anordnung (vertikal zentrieren oder ausrichten)
    • Wenn Sie es zentriert haben möchten, entfernen Sie die beiden Ausrichtungsmarkierungen im Feld "Autosizing". Wählen Sie eine von ihnen, wenn Sie es "klebrig" wollen oder beide, wenn Sie möchten, dass es Eltern füllt.
    • Wählen Sie, ob die Größe relativ geändert werden soll oder nicht, indem Sie den vertikalen "Doppelpfeil"
    • hervorheben oder heben
    • Stellen Sie sicher, dass sich an dieser Stelle alle Elemente an den vorgesehenen Stellen in Ihrer 3,5-Zoll-Ansicht befinden - dies ist wichtig, damit es auf iOS4 funktioniert.
  5. 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.

  6. 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.

    
jake_hetfield 22.11.2012, 16:38
quelle
3

So zentrieren Sie die Ansicht in der übergeordneten Ansicht (Container) in IB mit automatischem Layout:

  • Wählen Sie Ihre Ansicht
  • aus
  • gehen Sie zum Menü und wählen Sie die Option Editor- & gt; Ausrichten- & gt; Horizontale / Vertikale Mitte im Container

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)

    
Vladimir 22.11.2012 15:52
quelle
0

So würden Sie es manuell (ohne AutoLayout) machen:

%Vor%     
Eric 22.11.2012 15:50
quelle