2016-05-19 7 views
0

Ich habe 4 uibuttons. Jeder Knopf muss 100x100 sein. Ich möchte die 4 von ihnen in der Mitte meines Bildschirms (horizontal) zentrieren, aber sie vertikal ablegen. Ich habe keine Ahnung, wo ich anfangen soll, aber ich habe gehört, dass Stackviews funktionieren könnten. Nicht sicher. Ich habe versucht, grundlegende Einschränkungen zu verwenden, aber ich konnte sie nicht zur Arbeit bringen.Wie zentriere ich 4 Uibuttons mit gleichem Abstand zueinander?

hier ist das, was im zu bekommen versuchen: enter image description here

+1

Sie programmatisch tun dies planen Sie auf oder mit Storyboard? – ZGski

+0

Was ist Ihre Anforderung? Bitte geben Sie relevante Details an. Welche Einschränkungen haben Sie angewendet? Wenn Sie nur auf iOS 9 und höher abzielen, sollten Sie Stapelansichten verwenden. –

+0

Bitte überprüfen Sie meine Antwort. –

Antwort

3

Schritt 1: - nehmen Sie 4 Taste in Ihrem Storyboard. Button1, Button2, Button3, Button4

Schritt 2: - Geben Sie feste Höhe und Breite für alle Schaltflächen.

enter image description here

Schritt 3: - Alle 2 - 2 Taste des Paares in 2 stackview.

enter image description here

Schritt 4: - Set UIStackview Eigentum für beide.

 Distribution -> Fill Equally 
      Spacing -> 5 (as per your requirement) 

enter image description here


enter image description here

Schritt 5: - Both Stackview in einer Stackview

enter image description here

Schritt 6: - Set Distribution = Fill equally Spacing =5 in Haupt stackview (set Entsprechend Ihrer Anforderung)

enter image description here

Schritt 7: - Sie nun Constrain zur Haupt stackview

 center Horizontally in container 

     center vertically in container 

     and select Update Frame. 

enter image description here

Schritt 8: - Es ist Zeit für Output for All Gerät.

enter image description here

Ich hoffe, es wird für Sie hilfreich sein.

+0

versuche es jetzt, danke für die schön detaillierte Erklärung! –

+0

@RonakShah willkommen. Wenn Sie irgendwelche Schwierigkeiten haben, fühlen Sie sich frei und fragen Sie mich. –

+0

Ist Ihr Problem gelöst? –

0

Es gibt viele Möglichkeiten, suchen ein:

Idee:

  1. zuerst alle Tasten legen gleich Breite und Höhe Einschränkung, und zu einem der Schaltfläche hinzufügen Einschränkungen zu Breite und Höhe 100.

  2. Für jede Taste X/Y mit Re Blick auf seine Eltern. Constraint: Zentrieren X, Zentriert Y

  3. In den konstanten Offset (im Interface Builder):

    • Schaltfläche oben links: Offset X von -60, Y von -60
    • Top rechts-Taste: Offset X von 60, Y von -60
    • Taste unten links: Offset X von -60, Y von 60
    • Taste unten rechts: Offset X von 60, Y von 60.

Schnell Beispiel (habe ich die Einschränkung in IB): https://github.com/Abreu0101/ButtonLayout

========

Eine weitere Option, die Sie haben zwischen den Tasten transparente Ansicht des verwendet, und dieses Zentrum Ansicht (transparent), und fügen Sie den Schaltflächen basierend auf diesen Ansichten eine Einschränkung hinzu (Manchmal ist das schwierig, das ich verwendet habe, aber alles hängt davon ab, was Sie brauchen).

0

Sie können auch versuchen, diese ohne UIStackView zu verwenden (wenn Sie diese Arbeit sein müssen, auf < iOS 9) enter image description here

Verwandte Themen