In meinem speziellen Fall macht ich Blick in den View-Controller habe, für die ich die folgenden Bedingungen hinzugefügt:Wie ein Blick auf dem Platz der Größe mit seinem Superview mit Auto Layout
- Sets vorangestellten, obere und untere Kanten auf 0
- Set Multiplikator Unterkante bis 2: 1
Nun sitzt die Ansicht in der oberen Hälfte auf den view-Controller.
Innerhalb dieses füge ich ein quadratisches Bild Ansicht, für die ich die folgenden Bedingungen hinzugefügt:
- Ctrl ziehen Sie von Bild Ansicht gleich Höhen und Breiten zu Superview und hinzugefügt.
- Ändern Sie den Multiplikator für Breite und Höhe, bis ich ein perfektes Quadrat habe. Ich habe nicht ein perfektes Quadrat
- Hinzugefügt Einschränkungen Mitte vertikal und horizontal
Meine Einschränkungen scheinen perfekt zu sein, aber wenn im Simulator ausgeführt wird. Außerdem wird die Größe der Bildansicht nicht geändert, wenn sie auf verschiedenen Simulatorbildschirmen ausgeführt wird.
Dies ist mein Setup:
- Auto Layout und Größenklassen sind
- ich eine Inferred Größe für das Storyboard
- Adaptive Layout Jede
- ich für Breite und Höhe eingestellt ist, aktiviert Ich versuche das für die 4s, 5,6 und 6+ Simulatoren zu machen.
Ich schaute auf anderen stackoverflow Pfosten, aber nichts scheint zu arbeiten.
Gibt es einige grundlegende Schritte, um dies zu tun?
edit:
Nach Einstellung> = 10 Constraints:
bearbeiten 3: I hinzugefügt oben, unten, führt, Constraints 2mal nachlauf, 1 mit niedrigeren als oder gleich (Priorität 1000), der andere mit größer als oder gleich (Priorität 800) mit dem konstanten Wert von 90. Ich weiß nicht, warum für den Boden versucht, zu 90 pt aus der Hauptansicht, nicht den Container zu strecken Ansicht (gre en eins).
Sie sollten eine aspectratio Einschränkung von 1 verwenden. –
also nur das Seitenverhältnis von 1: 1 und die Höhe oder witdh proportional zur Superview? Dadurch bekomme ich ein Quadrat (das zu klein ist), aber es ändert sich nicht die Größe abhängig vom Bildschirm, die gleiche Größe auf allen Bildschirmen – Kobe