2017-01-04 7 views
1

Ich versuche, die Einschränkungen für diese horizontals Schaltfläche zu tun. Ich möchte, dass das Verhältnis der Größe der Schaltflächen gleich ist und dass die Symbole die gleiche Breite und Höhe haben.Constraints nicht für alle Bildschirmgeräte Größe ändern

enter image description here

Jede Idee, wie ich das so tun können diese Tasten entsprechend der Bildschirmgröße richtig die Größe? Vielen Dank!

+0

Welche Einschränkungen, die Sie versucht haben? – Paulw11

+1

Zwei Regeln 1.Vereinbaren Sie den Text und das Bild in einer Ansicht, sodass Sie schließlich vier Containeransichten haben. 2. Fügen Sie einer Containeransicht eine proportionale Höhe und Breite hinzu und verknüpfen Sie andere Ansichten mit gleicher Höhe und Breite. – iphonic

Antwort

1

Machen Sie Gruppen von UIView, die das Symbol und den Text enthalten. Lets nennen diese Container Ansicht

Legen Sie alle n Container Ansicht s in Ihrem Storyboard als sie angezeigt werden möchten. Jetzt:

  • Auf der linken Seite die meisten Container Ansicht eine führende und am Boden Einschränkung der Super-Ansicht.
  • Nun zu der zweiten Containeransicht fügen Sie einen führenden Abstand von 0 (oder etwas, was Sie wollen). Strg + Ziehen Sie Ihre zweite Taste auf die erste Taste. Halten Sie die Shift-Taste gedrückt und wählen Sie gleiche Breite, gleiche Höhe und align bottom.

nun die gleichen Einschränkungen wie Ihre zweite Container Ansicht auf alle Ihre n gelten - 1 Container Ansicht. n ist die Nummer der Containeransicht, die Sie hinzufügen möchten. Jetzt zu Ihrer letzten (nth) Containeransicht hinzufügen, eine zusätzliche Einschränkung, die ein schließendes Leerzeichen an die SuperView wäre. Nun sollten alle Ihre Containeransicht eine gleiche Breite haben, die abhängig von der Breite des Bildschirms bestimmt wird!

Wenn Sie eine bestimmte Höhe oder ein Seitenverhältnis zu allen Ihren Containeransicht haben möchten. Fügen Sie einfach die Höhe oder Seitenverhältnis Einschränkung zu Ihrer erstenContainer Ansicht und alle folgenden Ansichten entsprechend erhalten aktualisiert werden.

ODER

Wenn Sie für die Höhe auf die Bildschirmgröße abhängig sein und nicht ein bestimmtes Seitenverhältnis beibehalten, dann werden Sie den ersten Container Ansicht eine gleiche Höhe geben müssen zu die ganze Ansicht mit einem spezifischen Multiplikator wie 0.15.

Sie werden auch innerhalb entsprechende Einschränkungen auf das Symbol und die Beschriftung vorhanden hinzufügen müssen jeden UIView

bearbeiten: Ein viel einfacher, was für Sie zu tun wäre, das Symbol als Bild auf die UIButton und füge der Text, wie Sie normalerweise zu der UIButton würden. Die UIButton wird dem Screenshot, den Sie gepostet haben, ziemlich ähnlich sein. Und dann wenden Sie einfach die Einschränkungen an, die ich oben erwähnt habe.

+0

Danke für Ihre Antwort! Ich habe die Containeransichten gemacht. Wie beschränke ich die Schaltflächen in jeder der Containeransichten? –

+0

fügen Sie einfach einen abschließenden, oberen und unteren Teil der Superansicht für die Schaltfläche hinzu und fügen Sie der Superansicht für das Symbol und den horizontalen Abstand zwischen der Schaltfläche und dem Symbol einen führenden, oberen und unteren Rand hinzu. – Rikh

+0

Danke, es hat funktioniert! –

0

Legen Sie die Breite und Höhe als Verhältnis der SuperView. Legen Sie fest, ob für eine Schaltfläche und für die übrigen Schaltflächen Höhe und Breite der ersten Schaltfläche entsprechen, für die Sie die Höhe und Breite in Bezug auf die Superview-Höhe und -Größe festgelegt haben. Verwenden Sie diese SO Post, um zu sehen, wie Höhe und Breite als Verhältnis der Superview festgelegt werden.

Hoffe, das hilft.

0

Es ist einfach, weil Ihre Alle Tasten in einer Richtung sind, so dass Sie StackView verwenden können. Nur einfache erste Anwendung die gleiche Höhe und gleicher Breite auf alle Ihre Tasten

Equal hight and Equal width

jetzt alle Tasten auswählen und fügen Sie sie in der stackview

Stackview

wird es in der rechten Seite seitlicher Boden. (mit dem Constraint-Symbol)

jetzt einfach Apply füge fehlende Bedingung hinzu. es wird die Arbeit selbst machen und ein besseres Ergebnis liefern. (Aber darauf achten, hier gilt es aus den allen Ansichten in Abschnitt View Controller)

Missing Constraint

Und jetzt Bingo versuchen, dies jede Größe derselben zeigen.

iPhone 7 plus iPhone 7

iPhone SE

Dies wird auch in Simulator gleiche Arbeit.

+0

Danke für Ihre Antwort! Aber ich möchte nicht, dass alle diese Tasten konstante Höhen und Breiten haben, weil sie nicht in kleinere Bildschirme passen. –

+0

So können Sie ihnen auch ein Verhältnis geben. Es ist auch im Constraint-Bereich verfügbar. –

0

Die Lösung ist sehr einfach.

Siehe das Bild unten (5 Tasten)

Autolayout 5 buttons

  • Die erste (blau), um nach links und der Unterseite des Super verstiftet
  • Jede der anderen 4 Tasten (rot , schwarz, grün, pink) sind oben an der ersten (blauen) Taste ausgerichtet
  • Jede Schaltfläche verwendet einen horizontalen Abstand zur vorherigen Schaltfläche (mit einer Konstante von 0). So hat roter Knopf 0 horizontalen Abstand zum Blau, Schwarzes hat 0 horizontalen Abstand zum Rot, usw.
  • Der letzte (rosa) Knopf wird auch auf der Rechten des superview gepinnt
  • Schließlich werden alle 4 anderen Knöpfe eingestellt, um selbe zu haben Breite bis zum ersten (blauen) Knopf

Das war's!

Was Sie Icons, alles, was Sie brauchen, ist, sie zu setzen gleiche Breite haben & Höhe auf das erste Symbol haben Sie

Verwandte Themen