Verwenden von Auto-Layout, um Leerzeichen bei der Größenänderung gleichmäßig zu ändern

8

Wenn ich in meiner App eine Ansicht mit drei Unteransichten (als Beispiel) mit folgendem Abstand habe:

TOP - 40 Punkte - SUBVIEW 1 - 60 Punkte - SUBVIEW 2 - 80 Punkte - SUBVIEW 3 - 80 Punkte - BOTTOM

Ich verstehe, wie ich das automatische Layout verwenden kann, um sicherzustellen, dass jede meiner Unteransichten ihre Höhe und Breite behält und dass ich alles auf einem 3,5 oder 4 Zoll großen iPhone-Bildschirm ausrichten kann.


Aber ich kann nicht herausfinden, welche Art von Einschränkung ich machen muss, damit, wenn es für einen 3,5 "-Bildschirm ausgerichtet wäre und dann zu einem 4" -Bildschirm ging, jeder Abstand proportional zunehmen würde (z. B. würden 40 Punkte gehe zu 47, 60 bis 71, 80 bis 95 - oder so ähnlich.

Ist das möglich? Oder muss ich alle Abstände zwischen den Elementen gleich machen? (Wenn ja, wie würde ich es immer noch gleich skalieren?)


Ich bin neu in Auto Layout, also wenn ich etwas verpasst habe, oder nicht klar gemacht habe, was ich meine, lass es mich wissen, danke.

    
Jon Cox 07.01.2013, 12:09
quelle

2 Antworten

1

Ich kenne keinen einfachen Weg, dies zu tun. Ich habe einen gemacht, wo alle Räume gleich waren, aber um das zu tun, musste ich die Räume mit unsichtbaren Etiketten füllen (nur Label ohne Titel). Also hatte ich meine 4 sichtbaren Objekte und die 5 "Spacer Labels" alle übereinander. Ich machte die 4 sichtbaren Objekte alle mit expliziten Höhen und die Spacer ohne feste Höhen, aber alle gleich:

%Vor%

Um die Leerzeichen anders zu machen, müssen Sie, glaube ich, eher die längere Form der Ausdruckseinschränkung als das visuelle Format verwenden. Der folgende Code scheint für mich zu funktionieren. Ich verwende die gleiche Definition der Ansichten wie oben, außer dass ich die Anzahl der betitelten Etiketten auf 3 und die Abstandhalter auf 4 reduziere, um Ihre Frage zu beantworten. Der relative Abstand sollte wie in Ihrem Beispiel 2: 3: 4: 4 sein.

%Vor%     
rdelmar 07.01.2013, 16:46
quelle
11

Der Trick besteht darin, nicht nur einen, sondern zwei Einschränkungen zwischen Ihren Ansichten hinzuzufügen. Eins mit " Größer als oder gleich " und eins mit " Weniger als oder gleich ". Die Mindestgröße (Greater Then oder Equal) sollte der Abstand auf dem 3,5 "-Display sein. Die maximale Größe (Less Then oder Equal) sollte der Abstand auf dem 4-Zoll-Display sein.

Beispiel:

TOP - 40 Punkte - SUBVIEW 1 - 60 Punkte - SUBVIEW 2 - 80 Punkte - SUBVIEW 3 - 80 Punkte - BOTTOM

TOP - SUBVIEW1: Wählen Sie beide im Interface Builder aus. Fügen Sie die Einschränkung "Vertikaler Abstand" zweimal hinzu. Setzen Sie eins auf größer dann oder gleich 40. Stellen Sie die andere auf Lesser Then oder Equal 47 ein.

Die Summe aller größeren Then-Werte + alle Höhen Ihrer Ansichten sollte 480 Pixel (3,5 ") betragen Die Summe aller Lesser Then-Werte + aller Höhen Ihrer Ansichten sollte 568 Pixel (4 ") betragen

    
sust86 24.01.2013 17:44
quelle

Tags und Links